Свести FDF / XFDF формы в PDF в PHP с UTF-8 символов - PullRequest
12 голосов
/ 20 октября 2010

Мой сценарий:

  • Шаблон PDF с полями формы: template.pdf
  • Файл XFDF, содержащий данные для заполнения: fieldData.xfdf

Теперь мне нужно, чтобы эти файлы были объединены и сведены.pdftk легко выполняет эту работу в php:

exec("pdftk template.pdf fill_form fieldData.xfdf output flatFile.pdf flatten");

К сожалению, это не работает с полной поддержкой utf-8.Например: кириллические и греческие буквы зашифрованы.Я использовал Arial для этого с набором символов Unicode.

  • Как мне сделать, чтобы сгладить мои файлы Unicode?
  • Есть ли другой инструмент pdf, который предлагает поддержку юникода?
  • Есть ли у pdftk переключатель Unicode, который мне не хватает?

РЕДАКТИРОВАТЬ 1: Поскольку этот вопрос не решался в течение более 9 месяцев, я решил назначить награду за него,В случае, если есть варианты спонсирования функции или исправления в pdftk, я был бы рад пожертвовать.

РЕДАКТИРОВАТЬ 2: Я больше не работаю над этим проектом, поэтому я не могу проверить новые ответы.Если у кого-то есть подобные проблемы, я рад, что они могут ответить в мою пользу.

Ответы [ 11 ]

0 голосов
/ 17 ноября 2010

Какая версия PDFTK?Я попробовал то же самое с польскими символами (utf-8).

у меня не работает.

pdftk.exe, libiconv2.dll из: http://www.pdflabs.com/docs/install-pdftk/

Windows 7, cmd, file.pdf + file.fdf -> new.pdf

pdftk file.pdf fill_form file.xfdf выходной файл new.pdf уплощенный

Unhandled Java Exception:
java.lang.NoClassDefFoundError: gnu.gcj.convert.Input_UTF8 not found in [file:.\, core:/]
   at 0x005a3abe (Unknown Source)
   at 0x005a3fb2 (Unknown Source)
   at 0x006119f4 (Unknown Source)
   at 0x00649ee4 (Unknown Source)
   at 0x005b4c44 (Unknown Source)
   at 0x005470a9 (Unknown Source)
   at 0x00549c52 (Unknown Source)
   at 0x0059d348 (Unknown Source)
   at 0x007323c9 (Unknown Source)
   at 0x0054715a (Unknown Source)
   at 0x00562349 (Unknown Source)

Но с файлом FDF с тем же содержанием он работал правильно.Но символы в new.PDF плохие.

pdftk file.pdf fill_form file.fdf вывод new.pdf flatten

--- FDF ---

%FDF-1.2
%âãÏÓ
1 0 obj<</FDF<</F(file.pdf)
/Fields[
<</T(Miejsce)/V(666 Poznań Śródmieście Ćwiartka Ósma)>>
<</T(Nr)/V(ęóąśłżźćńĘÓĄŚŁŻŹĆŃ)>>
]>>>>
endobj
trailer
<</Root 1 0 R>>
%%EOF

--- XFDF ---

<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
<f href="file.pdf"/>
<fields>
<field name="Miejsce">
<value>666 Poznań Śródmieście Ćwiartka Ósma</value>
</field>
<field name="Nr">
<value>ęóąśłżźćńĘÓĄŚŁŻŹĆŃ</value>
</field>
</fields>
</xfdf>

--- PDF ---

Miejsce: 666 PoznaÅ— ÅıródmieÅłcie ăwiartka Ãfisma
Nr: ÄŽÃ³Ä–ÅłÅ‡Å¼ÅºÄ⁄Å—ÄŸÃfiÄ—ÅıņŻŹăÅ
...