几年前,我为我的一位客户做了类似的实现。我使用开放式办公室来创建模板并使用iText生成PDF。看看它是否有帮助。
步骤:
创建模板:
- 公开赛在开放式办公新文档,并创建一个新文档。转到“查看”并进行“窗体设计”模式
- 输入代表模板静态部分的文本。
- 打开“表单设计”模式后,相应的工具栏将被添加,如上面屏幕截图中突出显示的那样。现在单击“文本框”并在文档中插入一个文本框。双击文本框并在其中插入所需的输入。
- 一旦创建了模板文件,保存和输出文档为PDF和将这个文件作为模板的PDF创建
填补了模板利用iText:
下步骤是读取模板并填充模板以动态生成PDF。 iText提供了一个PdfReader来读取PDF文件和PdfStamper来修改或添加内容到PDF文档。由于模板是一个PDF文件,PdfReader将读取模板,并且PdfStamper将使用实时数据动态填充字段。以下是步骤
1.使用iText PdfReader阅读PDF模板。该模板可以放在文件系统的任何位置。但是在现实生活中的项目场景中,它应该放置在项目文件夹中。
- 使用PdfReader和ByteArrayOutputStream作为参数创建一个PdfStamper。
- 使用PdfStamper对象的实例填充模板字段。 setField()方法将键和值作为参数。 “键”应该是在模板创建期间给出的文本框的“名称”。请确保“密钥”与“名称”字段相同。否则,该字段将不会填充。
- 填充必填字段后,使用PdfReader对象关闭PdfStamper。
参考:http://itext-pdfcreation-template.blogspot.in/
您可以创建一个空的可填写PDF表单?如果是这样,您可以使用iText来填写PDF表单并将其扁平化以创建该表单的填充副本。我很久以前用过iText,它很好.. – anacron
我看了一下iText - 它不是免费的,我不确定最新的免费版本2.1.7是如何运作的。我提到的问题之一就是动态表格。在PDF中没有表格的概念,因此我在Word中创建它,但是我必须在表格中预先分配很多行,并且其中大部分通常都是空的。 –
哦,它不是免费的吗?我在7-8年前免费时使用了它,并且它做得很好。所以,如果你仍然可以得到它的副本,你可以继续下去。但是,如果遇到任何错误,他们可能不会再为这些旧版本提供任何支持。 – anacron