1

在我们的网络应用程序中,我们为客户提供了制作一些用户生成的 HTML 表单的 PDF 的选项。PDF 文件由 OpenOffice 3.3 创建,生成的 PDF 包含交互式表单域。

问题是预填充数据的字段在不同的 PDF 查看器上显示不同。在 Adob​​e Reader 中,字段如下所示,字段底部(部分隐藏)的值:

Adobe 中的 PDF

在 Foxit Reader(以及我尝试过的其他阅读器)中,PDF 如下所示:

在此处输入图像描述

为什么会这样?

编辑:遵循 yms 的建议;这是一个包含有问题的交互式表单域的示例 PDF 。

4

1 回答 1

1

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

来自PDF 参考文档

属性:Descent
类型:数字
说明:(必需,Type 3 字体除外)
此字体中的字形达到的基线以下的最大深度。 该值为负数。

在您发布的文件中,字体描述符如下所示:

12 0 obj
<< /Type/FontDescriptor/FontName/CourierNewPSMT
/Flags 5
/FontBBox[-121 -679 622 1021]
/ItalicAngle 0
/Ascent 832
/Descent 300 <-这家伙应该是负数
/CapHeight 1020
/StemV 80 >>
结束对象

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

于 2012-03-27T19:22:32.323 回答