0
PDFBoxとGroovyを使用して複数ページのドキュメントを作成しようとしています。 私はいくつかのフォームのテキストフィールドを含むテンプレート文書を持っており、新しい文書を作成するたびにプログラムはこのテンプレートを使用します。ページがクローンされると、PDFBoxはフォームフィールドを省略します
私の問題は、新しい文書を作成しようとすると、新しい文書のいくつかのフォームフィールドが見つからないということです。私はFoxit PhantomPDFを使用しています。視覚的には、欠落しているフィールドを見ることはできません。私が見る他のものは大丈夫です。ここで
は私のコードです:ここでは
static void initiatePdf() {
// Initiate a new PDF Box object and get the acro form from it
File file = new File(Constants.EMPTY_DOC)
PDDocument tempDoc
Evaluator evaluator = new Evaluator()
int numPages = evaluator.getNumOfPagesRequired(objects)
for(int i = 0; i < numPages; i++) {
tempDoc = new PDDocument().load(file)
PDDocumentCatalog docCatalog = tempDoc.getDocumentCatalog()
PDAcroForm acroForm = docCatalog.acroForm
PDPage page = (PDPage) docCatalog.getPages().get(0)
document.addPage(page)
}
document.save(Constants.RESULT_FILE)
document.close()
}
は私の問題を描写するのに役立ちます画像です。これはテンプレートです:
これは私がティルマン・ハウスハーの助けを借りて、この問題を解決するために管理し、新しいpdfファイル
目的のAcroformのフィールドは決して設定しません。目的のPDFにAcroformエントリがありません。注釈ウィジェットのリンク先ページをページに合わせていません。同じ位置にあるが異なるページのすべてのフィールドが「接続されている」かどうかは説明していません。また、(関連性のない) 'new PDDocument()。load(file)'を 'PDDocument.load(file)'(静的メソッド)に変更します。 –
送信元と送信先のPDFを共有すると便利です。 –