我正在创建一个pdf文档(通过ColdFusion),但是当我在Firefox中预览渲染的pdf时,得到的数字“4”应该是我的选中标记(请参见下面的照片)。当我在Chrome或IE中预览完全相同的pdf时,我看到了选中标记,并且一切正常!
我正在预先填充pdf表单字段(通过ColdFusion session 变量),然后使用以下标记呈现pdf:
<cfpdfform source="82040.pdf" action="populate">
<cfpdfformparam name="org" value="">
</cfpdfform>
这是Internet Explorer中生成的pdf表单:
请注意复选标记如何正确呈现:
这是在FireFox中预览的相同表格:
请注意该复选框如何带有“4”而不是选中标记:
任何帮助将不胜感激!
最佳答案
正如该项目的github repo所指出的那样,该错误显然是addressed already:该错误据说是在this commit期间修复的。因此,如果您仍然遇到问题,则意味着:
因此,从开始,您将要确保使用的是pdf.js库的最新版本。如果您仍然遇到问题,即使使用最新版本,则问题仍然存在于嵌入式pdf文档查看器中,在项目维护人员最终解决问题之前,您无需执行太多操作即可解决此问题。问题。
您遇到的问题(之所以会看到“4”的地方是复选标记,是因为pdf.js库使用一种特殊的符号字体来呈现复选标记,但是在有问题的版本的firefox嵌入式pdf-中,查看器,符号字体未正确呈现选中标记,因此显示的是“4”而不是选中标记-因为它们在自定义字体中使用的选中标记符号恰好被映射为数字“4”。
同样,出于上述相同的原因,如果您将复选框分配给渲染正方形(而不是选中的正方形),则字母“N”将出现在复选框中而不是正方形,因为正方形符号已映射到字母“N” ”。
这个问题仅存在于Firefox的嵌入式pdf文档查看器中,但是在Adobe Acrobat Reader或其他离线pdf阅读器(和其他浏览器pdf阅读器)中查看时,它看起来完全正常,这就是为什么它在Chrome和IE中看起来不错的原因,因此,当用户下载表格时,它会像您期望的那样显示。
您可以尝试一些解决方法/优化:
尝试其中一种或全部尝试,它们没有特定的顺序(或保证能正常工作)
除此之外,在mozilla团队更新其嵌入式pdf查看器之前,您无能为力。但是,由于问题只存在于firefox查看器中,而不存在于pdf本身中,因此由您来决定这是否是破坏交易的问题,并寻找替代方案。
注意: PDF.js内置于Firefox 19+版本中。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
更新:您可以使用 this pdf (代表ZapDingbats符号字体的字符映射)作为测试浏览器对通过pdf.js呈现的pdf中嵌入字体的解释的方式。请注意,在撰写本文时,上面的pdf确实不能在Firefox 中(通过pdf.js)正确显示Zapf Dingbats,但是其他浏览器却将它们渲染得很好(请注意firefox中
a20[x2714]
旁边的“4”,以及Chrome中相同条目(a20[x2714]
)旁边的复选标记。关于Firefox pdf表单在复选框中显示 "4"(而不是选中标记);在IE和Chrome中正常运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27882254/