在我们的webapp中,我们让客户可以选择将一些用户生成的HTML表单制作成PDF格式。PDF文件是由OpenOffice 3.3创建的,生成的PDF文件包含交互式表单域。
问题是预先填充了数据的字段在不同的PDF查看器上显示的方式不同。在Adobe Reader中,字段如下所示,值位于字段的底部(部分隐藏):

在Foxit Reader (和我试过的其他阅读器)中,PDF看起来像这样:

为什么会发生这种情况?
编辑:遵循yms的建议;使用有问题的交互表单域的This is an example PDF。
发布于 2012-03-28 03:22:32
PDF文件的Font对象中有一些奇怪的东西。字体描述符的Descent属性似乎有一个不正确的值,第三方阅读器忽略或更正了该值,但Adobe Acrobat Reader“认可”了该值。
从PDF Reference Document
属性:下降
类型:数字
描述:(必填,Type 3字体除外)基线以下的最大深度
通过此字体中的字形到达。该值为负数。
在您发布的文件中,字体描述符如下所示:
% 12 %0对象
<< /类型/字体描述符/字体名称/CourierNewPSMT
/Flags 5
/FontBBox-121 -679 622 1021
/ItalicAngle %0
/Ascent 832
/Descent 300 <-这里的这个家伙应该是负面的
/CapHeight 1020
/StemV 80 >>
endobj
作为一种解决办法,您可以尝试在用于生成这些文件的任何工具上使用不同的字体,也可以尝试将问题报告给该工具的开发人员。
https://stackoverflow.com/questions/9836357
复制相似问题