2016-08-12 95 views
0

我有一个带有定义在其中的表单的PDF。 表单中的一个字段是多行文本字段。Adob​​e PDF表单 - 文本字段仅在单击它时才显示值

文本字段中的值由使用Apache PDFBox的Java程序填充。

问题是当值为5到6行左右时,文本框自动显示文本。但是如果它超过6行,文本框不会显示该值。我不得不专门点击文本字段来显示文本。如果我再次在文本框外单击,文字消失。

只有启用了多行和滚动选项才能读取文本字段。

任何想法是什么造成这个奇怪的问题?

我有Adobe Acrobat Pro 11,Adobe Acrobat XI和Adobe Reader来查看文件。全都有同样的问题。

+0

我检查http://stackoverflow.com/questions/32398302/saved-text-field-value-is-not-displayed-properly-in-pdf-generated-using-pdfbox,https://www.itsupportguides .com/tech-tips-tricks/text-hidden-on-pdf-form-fields-until-clicked-on /,https://forums.adobe.com/thread/1019513没有太多的运气。 – SRCM

+1

将此代码添加到填充表单的代码中:'acroForm.setNeedAppearances(true);' –

+0

您正在使用哪个版本的PDFBox?你可以分享PDF和一个小样本如何填充表单字段? –

回答

1

这听起来像一个典型的“外观”问题。在字段控件字典中没有表单字段外观,因此当您在字段中单击时,将显示原始字符串数据,但是当您单击时没有外观可显示,因此您会留空。您可以通过在Acrobat中的字段属性中切换多行设置来进行测试,以便生成外观。如果解决了这个问题,那么你的问题就是我描述的问题。

您可以使用PDFBox在文件中设置“需要外观”标志,该标志将告知Adobe查看器在文件打开时重新生成字段外观,但不适用于所有PDF查看器。要使字段值在所有PDF查看器中都可见,最好在填充字段值时生成外观。

Datalogics PDF Java Toolkit可以根据字段值自动生成外观。完全披露,我代表Datalogics。

相关问题