将动态表添加到pdf模板

时间:2012-06-13 13:34:40

标签: java itext

我正在使用以下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动态长度替换PDF中的文本字段。

我试过

    float[] fieldPosition= pdfTemplate.getAcroFields().getFieldPositions("tableField");
    PdfPTable table = buildTable();
    PdfContentByte cb = stamper.getOverContent(1); 
    table.writeSelectedRows(0, -1, fieldPosition[1],fieldPosition[4],cb);

这样可以正常工作,但是当字段在某些内容之后,表格“覆盖它”, 当表格的行数超过页面可以容纳的数量时,问题就出现了。

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

0 个答案:

没有答案