Я знаю, что это старый пост, но я долго пытался найти решение. Я нашел достойный вариант, использующий только ReportLab и PyPDF, поэтому решил поделиться:
- прочтите ваш PDF-файл с помощью
PdfFileReader()
, мы назовем этот ввод
- создайте новый PDF-файл, содержащий ваш текст для добавления с помощью ReportLab, сохраните его как строковый объект
- прочитайте строковый объект, используя
PdfFileReader()
, мы назовем этот текст
- создайте новый объект PDF с помощью
PdfFileWriter()
, мы назовем этот вывод
- выполнить итерацию по вводу и применить
.mergePage(*text*.getPage(0))
для каждой страницы, на которую нужно добавить текст, а затем использовать output.addPage()
для добавления измененных страниц в новый документ
Это хорошо работает для простых текстовых добавлений. См. Образец PyPDF для добавления водяных знаков на документ.
Вот код, чтобы ответить на вопрос ниже:
packet = StringIO.StringIO()
can = canvas.Canvas(packet, pagesize=letter)
<do something with canvas>
can.save()
packet.seek(0)
input = PdfFileReader(packet)
Отсюда вы можете объединить страницы входного файла с другим документом.
Пример для [Python 2.7]:
Пример для Python 3.x:
источник
io.BytesIO
и использовать PyPDF2, а не pyPDF (который не поддерживается). Отличный ответ!open
вместоfile
.existing_pdf
вoutput
, а пример кода - нет.pdfrw позволит вам читать страницы из существующего PDF-файла и рисовать их на холсте reportlab (аналогично рисованию изображения). Примеры для этого есть в подкаталоге pdfrw examples / rl1 на github. Отказ от ответственности: я являюсь автором pdfrw.
источник
Используя Дэвид Дегхан «s ответ выше, следующие работы в Python 2.7.13:
источник
cpdf выполнит эту работу из командной строки. Но это не питон (афайк):
источник
Возможно, вам больше повезет, если вам удастся разобрать проблему на преобразование PDF в редактируемый формат, запись ваших изменений и последующее преобразование его обратно в PDF. Я не знаю библиотеки, которая позволяет вам напрямую редактировать PDF, но, например, существует множество конвертеров между DOC и PDF.
источник
Если вы используете Windows, это может сработать:
PDF Creator Pilot
Также есть технический документ о фреймворке для создания и редактирования PDF в Python. Он немного устарел, но может дать вам некоторую полезную информацию:
Использование Python в качестве фреймворка для редактирования и обработки PDF
источник
Вы пробовали pyPdf ?
К сожалению, у него нет возможности изменять содержимое страницы.
источник