используя PHP для создания PDF, без использования функций PHP FDF - PullRequest
2 голосов
/ 24 марта 2011

Есть ли способ создать файл FDF в PHP без использования мертвых функций FDF?Я знаю, что вы можете использовать pdftk для создания PDF-файла из существующего файла FDF, но мне нужно сначала создать файл FDF с одним установленным значением поля.

Или естьЕсть ли способ установить одно поле в PDF с помощью PHP (пропуская создание файла FDF) перед тем, как позволить пользователю загрузить его?

Для этого я попытался создать файл FDF в PHP с помощью fopen - не работал.Я также знаю, что в pdftk есть операция generate_fdf, но это не позволяет мне установить конкретное значение, по крайней мере, то, что я не вижу.

Кто-нибудь знает, каким может быть ответ?Я довольно застрял.К сожалению, я не могу сказать клиенту отказаться от полного PDF (и вместо этого использовать веб-форму).

Ответы [ 2 ]

2 голосов
/ 23 января 2013

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

Чтобы ответить на вопрос FDF, сначала ознакомьтесь с этой замечательной статьей http://koivi.com/fill-pdf-form-fields/, в которой также есть метод, помогающий генерировать FDF.

Onceу вас есть FDF с вашими данными, вы можете использовать функцию fill_form PDFTK

. Вы можете сохранить документ редактируемым, используя passthru () вместо readfile ($ temp_file) и выводя в stdout вместо имени файла, используя "вывод - параметр.Также важно воздерживаться от принудительного размещения документов.Если вы попытаетесь принудительно загрузить файл, а не открывать его в браузере, вы получите нередактируемый и недоступный для хранения беспорядок.

пример:

header("Content-type:application/pdf");
passthru("pdftk ".$original." fill_form ".$fdf." output -");
die();

Это откроет его вбраузер с помощью плагина Reader.После этого вы сможете редактировать и печатать заполненные поля формы, но я до сих пор не нашел способ сохранить копию с изменениями.В настоящее время я гонюсь за продажами Adobe для других вариантов.

Как уже отмечалось, не используйте опцию PDFTK "сгладить".

Оригинальный PDF не должен содержать пароли.

2 голосов
/ 24 марта 2011

Если я вас правильно понимаю, вы просто не хотите использовать библиотеку FDF, в частности?

Вы пробовали TCPDF? Смотри http://www.tcpdf.org/

Если вы хотите использовать существующий файл PDF в качестве шаблона и добавить только некоторые значения, используйте расширяющий FPDI, который расширяет TCPDF: http://www.setasign.de/products/pdf-php-solutions/fpdi/

...