2012-03-23 105 views
1

在我们的web应用程序中,我们给予客户制作一些用户生成的HTML表单的PDF选项。 PDF文件由OpenOffice 3.3创建,生成的PDF包含交互式表单字段。为什么我们使用交互式表单生成的PDF在Adobe Reader和其他PDF查看器中显示不同?

问题是,预填充数据的字段在不同的PDF查看器中显示不同。在Adobe Reader中的字段是这样的,用值在底部(和部分地隐藏)字段:

PDF in Adobe

福昕阅读器(和其他读者我已经试过)的PDF看起来像这样:

enter image description here

这究竟是为什么?

编辑:遵循yms的建议; This is an example PDF有问题的交互式表单域。

+1

在您的问题中包含实际的PDF文件可能会帮助您获得答案。 – yms 2012-03-23 13:12:26

回答

1

PDF文件的Font对象中有些奇怪的东西。字体描述符的下降属性似乎有一个不正确的值,被第三方阅读器忽略或纠正,但它已被Adobe Acrobat Reader“尊重”。

PDF Reference Document

属性:下降
类型:数
描述:(必需的,除了Type 3字体)基线
下面的最大深度在该字体的字形达到。 该值是一个负数。

在您发布的文件中,字体的描述是这样的:

12 0 OBJ
< < /类型/ FontDescriptor/FONTNAME/CourierNewPSMT
/标志5
/FontBBox [ - 121 -679 622 1021]
/ItalicAngle 0
/的Ascent 832
/下降300 < - 在这里这家伙本来是什么工具,你正在使用为负
/大写高度1020
/StemV 80 >>
endobj

作为一种变通方法,您可以尝试使用一个不同的字体生成这些文件,或者您可以尝试将问题报告给该工具的开发人员。

相关问题