アクロフォーム付きのpdfがあります。iText を使用してこの pdf を開き、フォーム フィールドにデータを入力しています。元の pdf よりも多くのページを生成する必要がある場合があります。そのために、1 つのページを作成し、次のコードを使用して既存のページに置き換えます。
OutputStream output = new FileOutputStream("C:\\newFile.pdf");
PdfStamper stamper = PdfHelper.openPdfStamper("C:\\template.pdf", output);
stamper.insertPage(NEW_PAGE_NUMBER, new Rectangle(0,0));
stamper.replacePage(stamper.getReader(), EXISTING_PAGE_NUMBER, NEW_PAGE_NUMBER);
これを行うと、既存のページのフィールドは新しいページにコピーされません。
これは、新しいページを追加する良い方法ですか? (新しいページは既存のページと同じでなければなりません)
フォーム フィールドを新しいページにコピーする方法は? フィールドが重複しないように新しいフォーム フィールド名を変更するにはどうすればよいですか?
編集:コピーしたいページにはテーブルがあります。しかし、このテーブルには 10 行しかありません。ユーザーが 10 個以上の項目を入力した場合、テーブル全体を埋めて、新しいページを作成して他の項目を埋めたいと思います。
このオーバーフローを避けるために、そのページの複数のコピーを作成しています。しかし、これは洗練された解決策ではないと思います。また、非常に大きな入力に対しては機能しません。