我正在使用以下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);
这样可以正常工作,但是当字段在某些内容之后,表格“覆盖它”, 当表格的行数超过页面可以容纳的数量时,问题就出现了。
有人知道如何真正替换字段并重建以下文档吗?