私は Java で PDFBox 1.2.1 を使用しており、複数ページのターゲット PDF を作成するためのテンプレートとして、acro フォームを含む単一ページの 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 ページが含まれていますが、すべてのページに同じ値「Car 4」の Text1 フィールドがあります。したがって、すべてのページは同じアクロ フォームです。すべてのページに新しい一意の acro フォームを生成することは何とか可能ですか、それとも私の使用例に対して他の可能な解決策はありますか?