我正在使用PDFBox 1.8.x填写PDF文档中的acroform。为此,我迭代文档中的所有PDField并设置存储在我的HashMap(aParameter)中的正确值。
PDAcroForm acroform = aTemplate.getDocumentCatalog().getAcroForm();
List fields = acroform.getFields();
for(int i=0; i<fields.size(); i++)
{
PDField field = (PDField) fields.get(i);
String lValue = aParameter.get(field.getPartialName());
if(lValue != null) field.setValue(lValue);
field.setReadonly(true);
}
除了我唯一的多行文本框外,它的工作效果非常好。在我生成的PDF中,正确的文本位于我的多行文本框中,但没有任何新行。在搜索原因的过程中,我发现了一些非常古老的答案,即PDFBox不支持多行,但它无法在其自身上设置新的行字符。这种行为是否仍然是最新的?或者,当达到文本框的宽度时,是否有可能自动将文本分解为新行?
This answer看起来像一个解决方案,但他们正在使用另一种技术(drawString)来编写PDF。是否有可能修改此想法以匹配我填写PDFields的行为?
我对任何想法感到高兴!