gpt4 book ai didi

java - 如何使用 pdfbox 检索 acrofield 的全名

转载 作者:行者123 更新时间:2023-11-30 06:21:28 25 4
gpt4 key购买 nike

我有一个带有 acroform 字段的 pdf,现在我需要找到相应的 PDField 对象。为此,我正在使用这段代码

public PDField getPDFieldWithName(final String fieldname){
PDDocumentCatalog docCatalog = pdDocument.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
return acroForm.getFields().stream()
.filter( x -> x.getPartialName().equalsIgnoreCase(fieldname))
.findFirst()
.get();
}

这适用于普通字段,但如果 pdf 上的字段用点分组并且使用了其中一个字段,则它不起作用。

正如我所看到的,PDFBox 处理诸如 PDNonTerminalField 之类的字段,是否有一种简单的方法来获取最新的子项并对其进行检查?

在我的表单上有一个名为 Test.foo.bar 的字段,当我使用上述方法搜索名为“Test.foo.bar”的字段时,它没有找到它

java.util.NoSuchElementException: No value present

最佳答案

getFields 仅返回根字段。更好的解决方案是调用 getFieldIterator()。或者,如果您有全名,则只需调用 getField(completelyQualifiedName)

关于java - 如何使用 pdfbox 检索 acrofield 的全名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48074644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com