2

我有一个 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 的字段具有以下值(不包括引号):

  • 一些数据:“ 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)

如果我使用 Adob​​e Reader 打开未展平的表单,则存在正确字符的事实也很清楚。打开后,最初表单域some_data仅包含用空格包围的字母z,但是如果我单击表单域,则会显示特殊字符,并且对字段值所做的任何更改都会导致正确的字符保持可见。另一方面,如果我在没有任何修改的情况下取消关注表单字段,它们会再次消失..

我也尝试在 xfdf 中使用数字实体,但它也没有帮助。

我有两个问题:

  1. 为什么当pdf中清楚地包含正确的字符信息并且还能够渲染它们时,这些字符不会出现在字段的值中?
  2. 最重要的是,在展平表单后,我该怎么做才能使正确的字符出现在 pdf 中?一旦将 xfdf 合并到 pdf 表单中,我更喜欢不需要任何后处理的解决方案,但欢迎任何解决方案或想法。

谢谢你们!

4

0 回答 0