我正在使用 PDFBox 2.0.11 打开 PDF 表单并提取值。这按预期工作。当我尝试设置一个值时,它似乎有效。当我打开 PDF 时,不显示该值。如果我在该字段中单击,则该值将显示为设置,但当我单击该字段时再次消失。
这似乎是一个常见问题,但我见过的修复程序似乎都不起作用。
if(file.exists())
{
PDDocument doc = PDDocument.load(file);
doc.setAllSecurityToBeRemoved(true);
PDDocumentCatalog catalog = doc.getDocumentCatalog();
PDAcroForm form = catalog.getAcroForm();
// Add Font
PDResources resources = new PDResources();
resources.put(COSName.getPDFName("Helv"), PDType1Font.HELVETICA);
form.setDefaultResources(resources);
// End Add Font
form.setNeedAppearances(false);
List<PDField> fields = form.getFields();
for (Object field : fields)
{
if (field instanceof PDTextField) {
PDTextField pdTextbox = (PDTextField) field;
System.out.println("PDTextBox " + pdTextbox.getFullyQualifiedName() + " " + pdTextbox.getValue());
if(pdTextbox.getFullyQualifiedName().equalsIgnoreCase("a3_5"))
{
try {
pdTextbox.getWidgets().get(0).setHidden(false);
pdTextbox.setValue("5500");
}
catch(Exception e){
e.printStackTrace();
}
}
}
else
{
System.out.print(field);
System.out.print(" = ");
System.out.print(field.getClass());
System.out.println();
}
}
doc.save("..._MINE_UPDATE.pdf");
doc.close();
}
长风秋雁
慕尼黑的夜晚无繁华
相关分类