我已成功使用Java创建了一个iText表单填充应用程序,但遇到了问题,因为动态内容并不总是相同的长度。
基本上,我正在创建发票表单,当然,发票的长度取决于订购的商品数量。
该表单允许12个条目,但如果有超过12个条目,我无法弄清楚该怎么做。我尝试添加一个具有相同模板的页面,但它只是在末尾添加了一个空白页然后抛出异常,因为它无法处理传递的其他信息。
知道如何添加多个页面吗?我正在使用PdfReader读入输入文件(使用Acrobat创建的.pdf表单)。然后我使用迭代器来遍历字段和Stamper。
我在一个应该遍历每个页面的for循环中尝试这个,但是当它到达第2页时,它会出错,因为该文件的PdfReader已经存在。在for循环之外移动PdfReader的创建也无济于事。
任何意见都会受到赞赏。
答案 0 :(得分:0)
嘿,你使用pdf AcroForm,否则你无法用iText填充它,但AcroForms是静态表单,你想要使用的是XFAForms pdf表格,它注入XML,但iText完全不支持XFAForms。 您可能要做的是使用第一行产品的坐标并在其上放置一个可以覆盖多个页面的PdfPTable,您可以指定在转到另一个页面时是否需要完成一行,这可以在Bruno Lowagie撰写的iText in Action一书中的第4章