Java PDFBox:检索具有相同名称的多个文本字段

Java PDFBox:检索具有相同名称的多个文本字段,java,pdf,pdfbox,Java,Pdf,Pdfbox,我试图用PDFBox从PDF(2.0.7)中检索一些输入字段,但没有成功 详细地说,我有以下内容(PDF在这里提供:或在这里)。当前PDF包含3个同名的文本字段“Text1”。此外,Acrobat PRO还表示Acrobat PRO屏幕截图中显示的字段: 下面的代码不是检索3个字段,而是返回一个仅包含以下对象的列表“Text1{type:PDTextField value:null}” PDDocument pdfDocument=PDDocument.load(输入); PDDocument

我试图用PDFBox从PDF(2.0.7)中检索一些输入字段,但没有成功

详细地说,我有以下内容(PDF在这里提供:或在这里)。当前PDF包含3个同名的文本字段“Text1”。此外,Acrobat PRO还表示Acrobat PRO屏幕截图中显示的字段:

下面的代码不是检索3个字段,而是返回一个仅包含以下对象的列表“Text1{type:PDTextField value:null}

PDDocument pdfDocument=PDDocument.load(输入);
PDDocumentCatalog docCatalog=pdfDocument.getDocumentCatalog();
PDAcroForm acroForm=docCatalog.getAcroForm();
列表字段=acroForm.getFields();
用于(PDField:字段){
...
}

是否有一种方法可以以某种方式读取所有字段,即使它们具有相同的名称?这可能是一种不好的做法吗?正确的答案是给出唯一的名称

从技术上讲,PDF只定义了一个字段。如果在Acrobat Reader中打开PDF并在其中一个字段中输入值,则其他两个字段将立即填充相同的值。如果确实需要三个不同的值,则需要为每个字段指定一个唯一的名称。

从技术上讲,PDF只定义了一个字段。如果在Acrobat Reader中打开PDF并在其中一个字段中输入值,则其他两个字段将立即填充相同的值。如果您确实需要三个不同的值,则需要为每个字段指定一个唯一的名称。

能否将您的PDF文件上载到不试图在您的计算机上安装恶意软件的主机?抱歉,我找不到免费添加的提供商。请尝试从谷歌驱动器:你能上传你的PDF文件到一个主机,是不是试图安装恶意软件在你的计算机上?对不起,我找不到一个供应商,这是添加免费的。请尝试从谷歌驱动器:谢谢。这回答了我的问题,谢谢。这回答了我的问题。
PDDocument pdfDocument = PDDocument.load(input);
PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
List<PDField> fields = acroForm.getFields();
for (PDField field : fields) {
   ...
}