次のJavaコードを使用して、pdfテンプレートにitextを入力しています
PdfReader pdfTemplate = getPdfReader(templateFile);
PdfStamper stamper = new PdfStamper(pdfTemplate, writer);
stamper.getAcroFields().setField("#ID", "1");
stamper.getAcroFields().setField("#value", "27");
stamper.getAcroFields().setField("#valuexxx", "99");
stamper.setFormFlattening(true);
// TODO Dynamic Table
stamper.close();
pdfTemplate.close();
今私の問題:
PDF のテキスト フィールドをテーブルの動的な長さに置き換えます。
やってみた
float[] fieldPosition= pdfTemplate.getAcroFields().getFieldPositions("tableField");
PdfPTable table = buildTable();
PdfContentByte cb = stamper.getOverContent(1);
table.writeSelectedRows(0, -1, fieldPosition[1],fieldPosition[4],cb);
これは正常に機能しますが、フィールドが何らかのコンテンツになった後、テーブルが「オーバーライド」する場合、2番目の問題は、ページが保持できるよりも多くの行がテーブルにある場合です。
フィールドを実際に置き換えて、次のドキュメントを再構築する方法を誰かが知っていますか?