2016-08-12 194 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。