С sprintf.js на месте - можно сделать изящный маленький формат-штучку
String.prototype.format = function(){
var _args = arguments
Array.prototype.unshift.apply(_args,[this])
return sprintf.apply(undefined,_args)
}
// this gives you:
"{%1$s}{%2$s}".format("1", "0")
// {1}{0}
Я знаю, что это старый пост, но я проводил много времени, пытаясь найти решение. Я наткнулся на приличный, использующий только REPORTLAB и PYPDF, поэтому я подумал, что поделился:
pdffilereader ()
, мы назовем это вход pdffilereader ()
, мы позвоним в этом Text pdffileWriter ()
, мы назовем это выход .mergepage (* Text * .GetPage (0))
Для каждой страницы вы хотите, чтобы текст добавлен, то используйте Вывод. AddPage ()
Чтобы добавить модифицированные страницы в новый документ Это хорошо работает для простых текстовых дополнений. См. Образец PYPDF для водяного знака документа.
Вот какой-то код, чтобы ответить на вопрос ниже:
packet = StringIO.StringIO()
can = canvas.Canvas(packet, pagesize=letter)
<do something with canvas>
can.save()
packet.seek(0)
input = PdfFileReader(packet)
Отсюда вы можете объединить страницы входного файла с другим документом.
Вы пробовали pyPdf ?
Извините, это не так иметь возможность изменять содержимое страницы.
Если вы работаете в Windows, это может сработать:
Там также есть технический документ о среде создания и редактирования PDF в Python. Он немного устарел, но может дать вам некоторую полезную информацию:
Использование Python в качестве среды редактирования и обработки PDF
Возможно, вам больше повезет, если вы решите проблему, преобразовав PDF в редактируемый формат, записав свои изменения, а затем преобразовав их обратно в PDF . Я не знаю библиотеки, которая позволяет вам напрямую редактировать PDF, но, например, существует множество конвертеров между DOC и PDF.