gpt4 book ai didi

java - 使用 pdfbox 获取表单字段值

转载 作者:行者123 更新时间:2023-11-30 06:19:14 26 4
gpt4 key购买 nike

我是第一次使用 pdfbox。现在我正在网站上阅读一些东西 Pdf

总结我有一个这样的pdf:

enter image description here

只是我的文件有很多很多不同的组件(textField、RadionButton、CheckBox)。对于这个 pdf,我必须阅读这些值:Mauro、Rossi、MyCompany。现在我写了以下代码:

PDDocument pdDoc = PDDocument.loadNonSeq( myFile, null );
PDDocumentCatalog pdCatalog = pdDoc.getDocumentCatalog();
PDAcroForm pdAcroForm = pdCatalog.getAcroForm();

for(PDField pdField : pdAcroForm.getFields()){
System.out.println(pdField.getValue())
}

这是读取表单组件内值的正确方法吗?对此有什么建议吗?我在哪里可以学习 pdfbox 上的其他内容?

最佳答案

您的代码应该可以工作。如果你真的想对这些值做些什么,你可能需要使用其他一些方法。例如,您可以使用 pdAcroForm.getField(<fieldName>) 获取特定字段:

PDField firstNameField = pdAcroForm.getField("firstName");
PDField lastNameField = pdAcroForm.getField("lastName");

请注意 PDField只是一个基类。您可以将事物转换为子类以从中获取更多有趣的信息。例如:

PDCheckbox fullTimeSalary = (PDCheckbox) pdAcroForm.getField("fullTimeSalary");
if(fullTimeSalary.isChecked()) {
log.debug("The person earns a full-time salary");
} else {
log.debug("The person does not earn a full-time salary");
}

正如您所建议的,您将在 apache pdfbox 网站上找到更多信息。

关于java - 使用 pdfbox 获取表单字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23497324/

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