将xfdf合并到模板pdf中,而不会丢失某些特殊字符(例如ő,Ű,č)

时间:2019-12-11 15:42:28

标签: pdf character-encoding utf pdftk xfdf

我有一个xfdf文件,它是utf8,可能包含非ASCII字符。我想将其与包含表单的pdf合并。我尝试使用pdftk,尽管合并正确发生-就所有字段而言,-拼合的pdf中未出现某些字符。

使用xfdf:

<?xml version="1.0" encoding="utf-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
    <fields>
        <field name="some_data">
            <value>Űző</value>
        </field>
        <field name="some_other_data">
            <value>ùûüÿ€’“”«»àâæçéèêëïôœÙÛÜŸÀÂÆÇÉÈÊËÏÎÔ</value>
        </field>
    </fields>
</xfdf>

结果pdf的字段具有以下值(不包括引号):

  • some_data :“ z
  • some_other_data :“ ùûüÿ€’””«»àâæçéèêëëïôœÙÛÜŸÀÆÇÉÈÊËÏÎÏ

因此, some_other_data 中的所有字符均已正确存储,但őŰ被存储为 00

我还意识到,如果我用pdftk解压缩pdf,我可以找到存储在pdf中的原始字符为

/DA (/Helv 8.64 Tf 0 g)
/Subtype /Widget
/V (ţ˙ Q z\r )
/T (some_data)

如果我使用Adobe Reader打开未拼合的表格,那么正确的字符也很清楚。打开后,最初的表单字段 some_data 仅包含用空格包围的字母 z ,但是,如果我单击表单字段,则会显示特殊字符,并进行任何更改字段值将导致正确的字符保持可见。另一方面,如果我在不进行任何修改的情况下取消了表单字段的焦点,它们将再次消失。

我还尝试在xfdf中使用数字实体,但这也无济于事。

我有2个问题:

  1. 当pdf清楚地包含正确的字符信息并能够呈现它们时,为什么这些字符不会出现在字段的值中?
  2. 最重要的是,在展平表格后,如何使pdf中出现正确的字符?我希望有一种解决方案,一旦将xfdf合并到pdf表单中,则不需要任何后处理,但是欢迎任何解决方案或想法。

谢谢大家!

0 个答案:

没有答案