Создание и объединение файлов PDF в Python - PullRequest
4 голосов
/ 15 февраля 2010

Я хочу автоматически создавать PDF-файлы с подтверждением бронирования в Python. Большая часть контента будет статичной (т. Е. Логотипы, условия бронирования, номера телефонов) с несколькими динамическими битами (даты, стоимость и т. Д.).

Со стороны пользователя, самый простой способ сделать это - начать с PDF-файла со статическим содержимым, а затем с помощью Python просто добавить динамические части. Это простой процесс?

После небольшого поиска кажется, что я могу использовать reportlab для создания контента и pyPdf для объединения PDF-файлов. Это лучший подход? Или есть действительно забавный способ, с которым я еще не сталкивался?

Спасибо!

Ответы [ 3 ]

8 голосов
/ 15 февраля 2010

Со стороны пользователя, самый простой способ сделать это - начать с PDF-файла со статическим содержимым, а затем с помощью Python просто добавить динамические части. Это простой процесс?

К сожалению, нет. Существует несколько инструментов, которые хороши для создания PDF-файлов с нуля (чаще всего для Python, ReportLab ), но они обычно не загружают существующие PDF-файлы. Вы должны будете включить генерацию кода для любого стандартного текста, линий, блоков, форм и изображений, а не для того, чтобы пользователь мог свободно редактировать его.

С другой стороны есть pyPdf , который может загружать PDF-файлы, сопоставлять страницы и извлекать некоторую информацию, но не может реально добавить новый контент. Вы можете объединить страницы в одну, но вам все равно придется сначала создать дополнительный оверлей информации в виде страницы в ReportLab.

2 голосов
/ 15 февраля 2010

Изучите документацию и реструктурированный текст. Вы можете быстро написать свой PDF-документ в формате reST, а затем скомпилировать PDF-файл, используя rst2pdf.py

Я использовал это, он создает очень красивые документы и разметка расширяемая! Позже вы можете взять тот же код и запустить его в rst2html, чтобы создать сайт, если он есть!

Взгляните сюда:

Удачи

1 голос
/ 15 февраля 2010

Вы можете сгенерировать документ, например, с помощью TeX или OpenOffice, или любого другого устройства, обеспечивающего наиболее удобные привязки, а затем распечатать документ на PDF-принтере.

Это позволяет вам не выяснять, где точно размещать поля, или выяснять, что делать, если ваш контент переполняет выделенное для него пространство.

...