Заполнение PDF-формы из FDF/XFDF

12
[Удален]
3312

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

Но при попытке заполнить .pdf при помощи сгенерированного xfdf она пишет мне java.lang.NullPointerException (и под centos и под виндой), при этом акробат без проблем их скрещивает.

Может кто занимался вопросом, знает подходящие способы реализации этого на PHP?

PDF/FDF Toolkit не предлагать - на целевом сервере нет возможности пересобрать php.

malls
На сайте с 08.08.2005
Offline
255
#1
neolord:
В общем я покурил форум и прочие ресурсы и пришел к выводу что вроде как наиболее удобно для этого дела использовать консольную тулзу pdftk

:) дружище - для какого именно дела?

Мне, например, не понятно ни разу, что конкретно надо сделать. Сгенерить PDF-ку из пыхи или что?

[Удален]
#2

Не, есть пдфка с формой. И есть заполненная форма из неё в формате XFDF (ну можно и в FDF). Нужно данные из XFDF внести в PDF и схлопнуть её (flatten), чтобы на месте инпутов появился просто текст. pdftk это умеет, но конкретно с моей пдфкой (анкета на загранпаспорт - можете погуглить, она везде одна и та же) оно не хочет работать =(

malls
На сайте с 08.08.2005
Offline
255
#3

Можно я попробую перевести с непонятного на русский:

Есть входные данные от пользователя (в довольно странном для веба формате), на выходе надо получить PDF с заполненым бланком.

Вопрос - зачем мучаться с обработкой странного формата, если можно просто получив данные от пользователя - сварганить из них PDF???

Или я что-то недопонял?

[Удален]
#4

Фишка в том, чтобы заполнить КОНКРЕТНЫЙ пдф, а не сгенерить новый. ПДФ в дальнейшем печатается и сканируется с распознаванием, так если что то я сгенерю и будет расхождение в пару миллиметров - крах.

Я избрал самый малоболезненный способ - XFDF, но вот теперь не могу склеить и то и то.

malls
На сайте с 08.08.2005
Offline
255
#5

А попробовать выкинуть заполненный PDF на печать на виртуальный принтер,генерящий тот же самый PDF (только уже без полей для ввода)???

[Удален]
#6

ммм... проблема в том, как получить заполненный PDF =) Выпиливание инпутов это уже вторичный вопрос.

Я рассматривал вариант заменить акробатом в шаблоне инпуты на текстовые токены и заменять их напрямую, но что-то я не осилил замену текста в исходном коде PDF

malls
На сайте с 08.08.2005
Offline
255
#7
neolord:
ммм... проблема в том, как получить заполненный PDF =)

О так я о том и говорю:

malls:
...в довольно странном для веба формате...

Я бы все таки не парился, а попробовал генернуть PDF из обычных данных, полученных через форму.

Там не так сложно настроить все отступы как надо (хотя возможно придется повозиться) - зато надежно как танк.

Покури FPDF/TCPDF может поможет чем.

[Удален]
#8

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

XFDF тоже генерится из полученных от пользователя данных.

Тут нюанс в том что шаблонов различных около 200. И если из них всех экспорнуть их формы и потом приводить данные к ним же - небольшая проблема, то для 200 шаблонов сидеть изобретать там параметры методов FPDF мне не хочется совсем =)

И я упорно не понимаю почему pdftk не хочет работать с половиной из них =(

И очень жду когда же ребята из GNUPdf что-то уже нам покажут.

malls
На сайте с 08.08.2005
Offline
255
#9
neolord:
эти либы так не умеют. Есть какая то надстройка, позволяющая загружать в FPDF уже существующий файл, но тоже не вышло правильно разобрать это дело.

В тонкости не вдавался, но TCPDF имеет метод: getPDFData( )

T.R.O.N
На сайте с 18.05.2004
Offline
314
#10
neolord:
И я упорно не понимаю почему pdftk не хочет работать с половиной из них =(

Проверьте версии PDFов и дефалтовые кодовые страницы. Попробуте все PDFки конвретнуть в самые старые (какие возможны), отключив скрипты.

Не забывайте, pdftk работает с файлом а не с документом.

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
12

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