Во-первых, я уже исследовал это на SO и Google. На самом деле, исходя из этого, я довольно скептически отношусь к тому, что мне нужно, существует. Я почти на том этапе, когда я мог бы отказаться от следующих 6 месяцев своей жизни, чтобы написать что-то с нуля, поскольку кажется очевидным, что всем нужен серверный заполнитель форм, родной для PHP.
Хорошо, простите за напыщенную речь ...
Вот моя ситуация:
1. Мне нужно доставлять предварительно заполненные формы PDF моим пользователям.
Поскольку форма находится за аутентификацией на основе файлов cookie, Adobe Reader не будет открывать файл xfdf, а вместо этого передает задачу браузеру. Это проблема для пользователей Linux и других пользователей, которые не используют Adobe Reader в качестве программы чтения PDF.
О, и Adobe еще не написала 64-битный плагин для Snow Leopard, поэтому треть моих пользователей вынуждена менять Safari для работы в 32-битном режиме каждый раз, когда они печатают эту форму.
Учитывая вышесказанное, доставка PDF-файла, уже заполненного таким образом, чтобы его можно было распечатать в Preview, Foxit и т. Д., Постепенно становится наиболее очевидным решением.
2. Я не могу использовать pdftk
Это немного глупо, но поскольку pdftk является древним и требует gcj для компиляции устаревшей версии itext, которую он использует, я не могу установить pdftk на моем хост-компьютере. На сервере нет gcj, и я бы предпочел не запрашивать его установку для этого одного случая.
Кроме того, даже если бы я мог установить pdftk, я могу выполнять только passthru()
и другие операции командной строки через CGI, чего я также хотел бы избежать.
3. На моем хосте в настоящее время не установлен PDFLib,
, поэтому я не могу использовать расширение PDF в php. Не то чтобы он предлагал эту функцию, но я подумал, что, возможно, ее можно использовать для добавления словаря fdf в общую форму, так же, как это делает itext / pdftk.
Я думал, что все потеряно, пока не узнал о TCPDF и FPDF. Похоже, что у TCPDF более сильный послужной список и больше возможностей, но я не могу найти что-либо в Google или их документации по заполнению серверной формы.
Если это еще не очевидно, мне не нужна библиотека для генерации FDF или XFDF. У меня уже есть это вниз. Но этого оказывается недостаточно для моих пользователей, которые просто хотят комбинированный продукт.
Итак, я думаю, мои вопросы:
Существует ли предварительно созданный метод для вывода нового PDF-файла, который является общей формой с заполненными данными из XFDF?
Если нет, то есть ли обходной путь, который не влечет за собой просто запись значений в верхней части полей формы (в отличие от полей)? Запись значений поверх полей означает, что javascript не будет проверять значения и что мне потребуется каждый раз вручную изменять значения потока.
Если нет для обоих, есть порт pdftk, который я еще не нашел, который работает с PHP и не просто вызывает двоичный файл через командную строку?
Любая помощь с этим очень ценится. Если кто-то захочет помочь мне создать такую библиотеку, дайте мне знать, я уже усердно работаю, пытаясь изучить синтаксис PDF, на всякий случай.