我在 Java 中使用 PDFBox 1.2.1,我正在尝试使用其中包含 acro 表单的单页 pdf 文档作为制作多页目标 pdf 的模板。
PDDocument sourceDocument = PDDocument.load(fileStream);
PDDocument targetDocument = new PDDocument();
PDDocumentCatalog sourceDocCatalog = sourceDocument.getDocumentCatalog();
PDAcroForm acroFormFromSource = sourceDocCatalog.getAcroForm();
targetDocument.getDocumentCatalog().setAcroForm(acroFormFromSource);
PDPage templatePdfPage = (PDPage) sourceDocument.getDocumentCatalog().getAllPages().get(0);
for (int i = 0; i < 5; i++) {
targetDocument.addPage(templatePdfPage);
PDDocumentCatalog targetDocumentsDocumentCatalog = targetDocument.getDocumentCatalog();
PDAcroForm acroForm = targetDocumentsDocumentCatalog.getAcroForm();
acroForm.getField("Text1").setValue("Car " + i);
}
不幸的是,生成的目标 pdf 包含 5 页,但每个页面都有 Text1 字段,其值为“Car 4”。所以每个页面都是相同的 acro 形式。是否有可能为每个页面生成新的唯一 acro 表单,或者我的用例是否有其他可能的解决方案?