我在将现有 acrofield 从 pdf 导入另一个 pdf 时遇到问题。这两个pdf是相似的。我尝试导入并保存文件(下面的代码)。如果我从文件系统打开它,我看不到更改,但如果我用 pdfbox 打开它,我会看到之前插入的 acrofile。我注意到文件大小增加了,但是当我打开它时,我看不到可填写的字段。
先感谢您
PDDocument documentSrc = PDDocument.load(new File(SRC));
PDAcroForm acroFormSrc = documentSrc.getDocumentCatalog().getAcroForm();
PDDocument documentDest = PDDocument.load(new File(DEST));
PDAcroForm acroFormDest = new PDAcroForm(documentDest);
System.out.println("\n\n\n----------> FIELDS OF DOC SOURCE");
for(PDField field : acroFormSrc.getFields()) {
System.out.println(field);
}
acroFormDest.setCacheFields(true);
acroFormDest.setFields(acroFormSrc.getFields());
documentDest.getDocumentCatalog().setAcroForm(acroFormDest);
documentDest.save(DEST_MERGED);
documentDest.close();
documentSrc.close();
PDDocument documentMERGED = PDDocument.load(new File(DEST_MERGED));
PDAcroForm acroFormMERGED = documentMERGED.getDocumentCatalog().getAcroForm();
System.out.println("\n\n\n----------> FIELDS OF DOC MERGED");
for(PDField field : acroFormMERGED.getFields()) {
System.out.println(field);
}
documentMERGED.close();