【发布时间】:2019-08-29 08:12:03
【问题描述】:
考虑this pdf
使用这段代码,我除了检索所有字段,但我得到了一半:
pdfOriginal.getDocumentCatalog().getAcroForm().getFields().forEach(field -> {
System.out.println(field.getValueAsString());
});
这里有什么问题?似乎所有注解都没有在 acroform 引用中,将表单字段注解添加到 acroform 对象的正确方法是什么?
更新 1
如果我尝试设置在getAcroForm.getFields() 中未引用/未找到的字段值,这里的奇怪之处如下:
doc.getDocumentCatalog().getAcroForm().getField("fieldNotInGetFields").setValue("a");
这行得通
更新 2
似乎使用doc.getDocumentCatalog().getAcroForm().getFieldTree() 检索所有字段。我不明白为什么doc.getDocumentCatalog().getAcroForm().getFields() 不是?
检索pdf acroform.getFieldTree() 或acroform.getFields() 的所有字段的正确方法是什么(我需要检索它们以设置它们的partialValue)
【问题讨论】:
-
请阅读两者的javadoc,它解释了这一点。
-
已经这样做了,对我来说超出了范围,但是经过几次代码尝试后,我现在很清楚了!非常感谢@TilmanHausherr,让我用小代码示例回答我的问题,或者你更喜欢删除它?
-
请自己回答:-)
-
如果您认为应该将任何内容添加到 javadoc 中,请提及。
-
javadoc 似乎很清楚这里不能做得更好 ^^ 是我的错
标签: pdfbox