Библиотека шаблона PHP PDF с выходом PDF? [закрыто

StackOverflow https://stackoverflow.com/questions/4416667

  •  08-10-2019
  •  | 
  •  

Вопрос

Есть ли библиотека PHP PDF, которая может Заменить переменные заполнителя В существующем документе PDF, ODT или DOCX и генерируйте файл PDF в качестве конечного результата, не вызывая макета?

Требования:

  • Не нуждается в 3-й партийной веб-сервисе

  • Возможность запуска на общий веб-хостинг будет идеальным (двоичные установки / пакеты не требуются)

Разумейте, что библиотека, которая может загрузить существующий файл PDF и вставить текст программно в определенной позиции недостаточно для моего использования.

Что касается моих исследований, нет библиотеки, которая может сделать это:

  • TCPDF может генерировать только документы с нуля

  • FPDI может прочитать существующие шаблоны PDF, но могут добавлять только содержимое программно (без замены переменных шаблонов)

  • Есть различные библиотеки шаблонов DOCX / ODT, но они не вывод PDF

Phpdocx. Претензии, чтобы иметь возможность делать именно то, что мне нужно - но они не предлагают пробной версии, и я не собираюсь купить кошку в сумке, особенно не когда, кажется, Нет другого продукта в сети, которая делает это. Мне трудно поверить, что они могут сделать это без проблем - если вы успешно сделали это, используя продукт, пожалуйста, отбросьте здесь строку.

Я что-то упускаешь?

Есть ли способ сделать это, используя PDF формы? Я создаю исходные документы в OpenOffice 3.

Я могу использовать стандартные команды Linux (pdftk Доступен, например, пробует это прямо сейчас.)

Обновлять: *Argh!* Я был вызван вне офиса, и щедрость истекла в то же время. Начало новой щедрости: насколько моими тестированными показателями, это еще не работает для меня.

Обновление II: Вскоре я буду смотреть в PDFTK подход, но я также начинаю еще одну щедрость для одного раунда сбора дополнительного ввода. Этот вопрос теперь видел 1300 контрольных точек в щитах, должен быть какой-то запись :)

Это было полезно?

Решение

Пекка,

Ранее я посмотрел на это, я думаю, вы можете использовать PDFTK. (Утилита командной строки), для заполнения формы PDF с использованием файлов данных FDF / XFDF, которые вы можете легко генерировать из PHP. Это был лучший вариант, который я видел до сих пор, хотя вполне может быть родная библиотека.

PDFTK. Вполне полезно в целом, стоит взглянуть на.

Обновлять: Посмотрите здесь: http://php.net/manual/en/book.fdf.php.

Другие советы

Это не очень практично, но для полноты: если у вас уже есть шаблон ODT, то вы можете очень хорошо сохранить это как шаблон. Изменение opendocument Content.xml и замена заполненных площадей в них довольно просты. Если это так, вы могли бы использовать unoconv или pyodconverter преобразовать ODT в окончательный PDF.

unoconv -f pdf -o final.pdf template.odt

Очевидно, что это требует полной настройки OpenOffice (Uno и Writer) на веб-сервере. И, очевидно, не каждый веб-хостер пошел бы с этим! Хаха. Даже если это просто на любой установке Debian или Fedora. Скорость исполнения, вероятно, также не будет звездным. Но тогда это может быть самый чистый подход, поскольку ООО определяется как намного лучше, чем кто-либо любой класс PHP.

Вы считаете, что используете что-то вроде XSL: форматирование объектов (XSL: FO)? В основном они XML-документы, которые обрабатываются и превращаются в PDFS. Сделайте строку - или лучше, DOM - замены внутри этого должны быть довольно простыми. Он поддерживает встраивание изображений, ссылок, аннотации и т. Д.

Это не PHP, но для него есть ряд обертков PHP вместе с способами использования его через Exec и т. Д. Не идеал, но полностью заботится о шаблоне части полностью. Для некоторой информации: http://techportal.inviqa.com/2009/12/16/transforming-xml-with-php-and-xsl/

Есть реализация, доступная как проект Apache - http://xmlgraphics.apache.org/fop/

FPDF и есть еще одно расширение на вершине этого, которую я не могу вспомнить, что позволяет вам импортировать шаблоны

Ваша лучшая ставка будет состоять в том, чтобы генерировать весь документ на лету, с шаблоном, определенным программным, использующим FPDF или что-то подобное. Таким образом, ваш текст не будет обрезан абзацами или что-то подобное, и вы можете легко расположить изображения / другие элементы по мере необходимости.

Поздно, но вы можете использовать дизайнер шаблона OpenSource https://github.com/applyius/dhek/release , чтобы определить PKACHOHDERS TERS / области в течение любого существующего PDF, затем загрузите его в PHP (как это формат JSON) и пишите соответствующим образом на оригинальном PDF, используя FPDF lib, для создания пользовательских PDF с помощью динамических данных, написанных на.

Не совсем то, что вы спросили, вы можете подумать, чтобы сделать это на два шага: используя некоторые шаблоны PHP Sytem (умственно, двоо) для генерации HTML-страницы, а затем используя такие инструменты, как Html2pdf. Преобразуйте его в PDF. Я использую это, и результаты хорошие (без проблем с макетом страницы и т. Д.)

Конечно, это зависит от ваших входных документов (вы можете использовать HTML вместо PDF / ODT в качестве источника) и сложность макета тех.

Хорошо, я пытаюсь помочь вам немного решить проблему.

Сначала ответ на пару вашего вопроса.

Q - Я что-то упускаю?

A - Нет. Существует библиотека PDF PDF, которая может заменить переменные заполнителя в существующем PDF и генерировать файл PDF в качестве конечного результата, не вызывая макета

Q - Есть ли способ сделать это с помощью форм PDF?

A - Да. Absolutelly Tric для этого - это с помощью форм PDF

Для обоих ответов вы можете использовать Jackin Koivisto Fill PDF Field Field PHP Библиотека PHP. Для более подробной информации вы, пожалуйста, перейдите в http://koivi.com/fill-pdf-form-fields/tutorial.php.Отказ Посмотрите там для получения дополнительной информации.

Кредит Джастин Коивисто за свою работу

PS.

Для обработки для отображения таблицы, как вывод из формы PDF, пожалуйста, подумайте о том, чтобы принять некоторое чтение на Oracle Business Intelligence Publisher Руководство пользователя - Создание шаблона PDF

Я добавлю этот новый ответ, поскольку расширение FDF PHP теперь мертв.

Я только что следовал Эти инструкции и завершил выполнение одного сценария Perl, а затем команда PDFTK

Я довольно осознаю, что это далеко не настоящее решение PHP, но он надежен и довольно прост в реализации на любой платформе * NIX.

Инструменты, описанные там, также доступны на Debian, на всякий случай, если вам было интересно.

Это маленькая бита поздно, но посмотреть на Pdftemplate Библиотека это делает все, что вы хотите. Вы можете создавать открытые файлы документов (ODT) и добавлять в нее заполнители. Библиотека Pdftemplate может заполнить эти заполнители (даже с изображениями) и создать файл PDF.

Одты файлы с заполняющими к PDF

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top