2

我正在使用以下 Java 代码用 itext 填充 pdf 模板

    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);

这很好用,但是当字段是一些内容之后,表格“覆盖它”,第二个问题是表格的行数超过页面可以容纳的行数。

有人知道如何真正替换字段并重建以下文档吗?

4

0 回答 0