首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDFTK、CODE128和UTF-8

PDFTK、CODE128和UTF-8
EN

Ask Ubuntu用户
提问于 2016-05-09 14:06:56
回答 1查看 2.8K关注 0票数 2

我习惯于使用PDFTK从PHP中填写PDF表单。最近,我被要求在PDF中插入一个代码-128条形码。为此,我创建了一个PDF,其中包含多个用于人类可读的条目的文本字段,另外还有一个特殊的文本字段,其中的文本以表示代码128符号的特殊字体呈现。这个字体可以在这里找到:http://www.jtbarton.com/Barcodes/Code128.aspx。人类可读的和条形码字段之间唯一的区别是用来显示字符的字体。

直到这一步,一切都很好。使用Adobe,我能够复制粘贴一个准备好的条形码到我的特殊字段,它呈现得很好,这个代码可以被条形码阅读器扫描。一个示例示例是Ñ000002HÓ (Ñ是一个启动程序,然后是my data 000002,校验和H紧随其后,最后是停止器Ó)。

当我试图用PDFTK填写表格时,我遇到了麻烦。如果我试图用Ñ000002HÓ填充我的特殊字段,它只会在ASCII表(即000002H)中呈现字符,并显示某种方格,而不是ÑÓ的预期条形码符号。更令人惊讶的是,试图用完全相同的Ñ000002HÓ短语填充人类可读的字段就像一种魅力。

我验证了这两个字段接收的字符序列完全相同(包括utf-8编码),我检查了字体是否嵌入良好,以防止显示问题,确保XFDF文件格式良好等。

这里是一个XFDF示例,用于用名为“human”和“条形码”的字段填充PDF表单

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
    <fields>
        <field name="human"><value>Ñ000002HÓ</value></field>
        <field name="barcode"><value>Ñ000002HÓ</value></field>
    </fields>
</xfdf>

恐怕我已经没有办法解决这个问题了。如果你这样做了,你的帮助将不胜感激。

EN

回答 1

Ask Ubuntu用户

发布于 2016-05-10 09:49:14

最后,我找到了一个解决办法。更确切地说是一个解决办法。

PDFTK似乎没有正确地处理UTF-8字符,嵌入标识-H字体应用于表单字段。为了正确地呈现PDF文件,而不是用内容替换字段,只需将此内容设置为该字段的默认值。这将使Acrobat处理表单字段的呈现过程,而不是将其委托给PDFTK。

为此,只需将need_appearances添加到PDFTK命令行即可。

注-表单字段保留在PDFTK创建的PDF中,这意味着用户可以在Adobe中修改其内容。

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/769812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档