我有一个半静态和半动态的pdf,可以增长多个页面 . 我在Adobe LiveCycle中创建了静态部分,并使用itext创建了动态部分 . 表单的动态部分是一个表,必须根据跨多个页面的输入进行扩展 . 该表格在两个部分都有acrofields .

我使用了columntext和pdfstamper将内容添加到现有的pdf中,并且表动态增长,这是正常的 . 问题是

  • 在每个表格单元格中,需要添加一个acrofield . 我使用pdfcell事件来创建它,但经过一些谷歌搜索,我只能使用pdfwriter但不使用pdf压模找到代码 .

  • 在第一页,如何限制表内容,以便它不会到页面的末尾,我可以在底部插入页码?

  • 我需要在表的末尾添加一个签名字段 . 我怎么知道动态表结束的坐标?

我的动态表部分的代码片段:

ColumnText column = new ColumnText(stamper.getOverContent(1));
Rectangle rectPage1 = new Rectangle(792, 270);
column.setSimpleColumn(rectPage1);
column.addElement(table);
int pagecount = 1;
Rectangle rectPage2 = new Rectangle(792, 540);
int status = column.go();
while (ColumnText.hasMoreText(status) ) {
status = triggerNewPage(stamper, pagesize, column, rectPage2,   ++pagecount);
}

public int triggerNewPage(PdfStamper stamper, Rectangle pagesize, ColumnText column, Rectangle rect, int pagecount) throws DocumentException {
stamper.insertPage(pagecount, pagesize);
PdfContentByte canvas = stamper.getOverContent(pagecount);
column.setCanvas(canvas);
column.setSimpleColumn(rect);
return column.go();
}