Slavenin999
@Slavenin999
программист php/erlang/elixir/js

Как генерировать PDF документы из шаблонов?

Всем привет!
Возникла, казалось бы, не сложная задача - пользователь загружает шаблон документа в PDF (это важно) я веутри этого шаблона заполняю данные, сохраняю как другой пдф и отдаю результат с заполненными данными. Но гуглинг особо ничего не находит. Есть какие-то библиотеки, которые могут открыть документ, заменить нужные вхождения и сохранить в новый файл?
PS я знаю, про генерацию из HTML, но такой вариант не подходит.
  • Вопрос задан
  • 137 просмотров
Пригласить эксперта
Ответы на вопрос 3
@rPman
Pdf - худший формат для данной задачи.

На php не густо библиотек по работе с pdf, они обычно ориентированы на чтение но не на редактирование. А читать документ в одном формате а генерировать из него другой промежуточный (обычно это html) это очень плохая идея.

Настоятельно рекомендую изменить данные момент в вашем бизнес-процессе, и использовать в качестве шаблона какой-либо открытый офисный формат типа open document или по старинке html
Ответ написан
Комментировать
Adamos
@Adamos
mPDF позволяет положить исходный PDF фоном и сверху (по координатам) налепить добавки.
Но для произвольного PDF вы просто не будете знать, что куда положить.

Стоит вернуться к задаче и пересмотреть ее. Откуда берется PDF у пользователя? Если это бланк, который он каким-то образом заполняет, а вы добавляете свою информацию - нужно просто дать ему форму на сайте, собрать его данные, добавить ваши и генерировать из них окончательный PDF.
Ответ написан
Комментировать
swerg
@swerg
PDF - это в общем случае "картинка", даже если в документе текст. Предназначен формат исключительно для идентичного отображения "на любом устройстве". Поэтому все элементы (слова, строки) в таком документе намертво прибиты к определенным координатам.
Из-за этого вставить в произвольное место произвольный текст автоматизировано - не получится.
Да, можно (выше были в ответах ссылки) поправить pdf так, чтобы в нем боли достаточные места чтобы вставить какой-то свой текст, но это в любом случае потребует предварительной тщательной ручной обработки такого PDF-шаблона (например, в Adobe Acrobat, не путать с вариантом Reader, который позволяет только отображать документы!).
Вы сами попробуйте поредактировать PDF в каком-нибудь редактора (Adobe Acrobat) чтобы понять как и что.

По-хорошему, постановку задачи надо менять, чтобы клиенты присылали какой-то другой формат, более удобный для редактирования и автоматизированного изменения.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы