我有一个PDF,其中定义了表单。 表单中的一个字段是多行文本字段。
文本字段中的值由使用Apache PDFBox的java程序填充。
问题是当值大约为5到6行时,文本框会自动显示文本。但如果它超过6行,则文本框不会显示该值。我必须专门点击文本字段才能显示文本。如果我再次在文本框外单击,文本将消失。
只有启用了多行和滚动选项才能读取文本字段。
任何想法导致这个奇怪的问题是什么?
我有Adobe Acrobat Pro 11,Adobe Acrobat XI和Adobe Reader来查看文件。所有人都有同样的问题。
答案 0 :(得分:1)
这听起来像是典型的“外观”问题。字段小部件字典中没有表单字段外观,因此当您单击该字段时,将显示原始字符串数据,但是当您单击时,没有要显示的外观,因此您将获得空白。您可以通过在Acrobat中的字段属性中切换多行设置来测试它,以便生成外观。如果这样可以解决问题,那么问题就在于我所描述的问题。
您可以使用PDFBox在文件中设置“需要外观”标志,该标志将告诉Adobe查看器在打开文件时重新生成字段外观,但不适用于所有PDF查看器。要使字段值在所有PDF查看器中可见,最好在填充字段值时生成外观。
Datalogics PDF Java Toolkit可以根据字段值自动生成外观。完全披露,我代表Datalogics。