2

次の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番目の問題は、ページが保持できるよりも多くの行がテーブルにある場合です。

フィールドを実際に置き換えて、次のドキュメントを再構築する方法を誰かが知っていますか?

4

0 に答える 0