Python PDF

S3
На сайте с 29.03.2012
Offline
322
172

Адептам вопрос.

Есть задача - забрать шаблон формы PDF, добавить маппинг данных в нужные области - имя, адрес и etc. На основании этого сгенерить новый файл и сохранить его для дальнейщего использования.

Пока Нашел две библиотеки подходящих -  

PyPDF2

Для получения темплэйта, и разбивания на страницы если надо

fpdf

Для создания новых слоев с обьектами - позволяет создавать что нужно, потом все это мержится в новый документ.

Может кто выполнял на практике подобное - подскажите что интереснее. Смотрел еще репортлаб, фитц

DD
На сайте с 16.05.2012
Offline
82
#1
Есть несколько подходов к решению.

Например верстаем обычный Html темплейт. На его основе создаем Html документ. А затем используя HeadlessChrome, экспортируем этот документ в формате PDF.
Реализация очень простая. Можно сделать в виде микросервиса. (может быть можно готовый докер контейнер найти)
Разработка систем сбора данных на Python/Golang/NodeJs
S3
На сайте с 29.03.2012
Offline
322
#2
drDaemon #:
Есть несколько подходов к решению.

Например верстаем обычный Html темплейт. На его основе создаем Html документ. А затем используя HeadlessChrome, экспортируем этот документ в формате PDF.
Реализация очень простая. Можно сделать в виде микросервиса. (может быть можно готовый докер контейнер найти)

Да, знаю такой вариант, но мне он не очень подходит. У меня уже есть исходный темплэйт в пдф  и данные в виде json-файла, они будут приходить из DynamoDB, но на первом этапе реализации это неважно.  Из них создаю слой в виде опять же PDF-файла. На данный момент нашел две подходящие либы - FPDF  и ReportLab. Вторая мощнее, но она странно обрабатывает координаты документа - с нижнего левого угла. Потом все это мержится в общий слой посредством метода из PyPdf2 либы. 

Мне тут даже микросервис не нужен - это все будет крутиться на амазоновской лямбде, заказчик хочет экономную серверлесс реализацию)

drDaemon #:
может быть можно готовый докер контейнер найти

Такой контейнер собрать - максимум полчаса, но как указал - нет необходимости

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий