如何使用 iTextSharp 填写 PDF 表单中的表格?
How to fill tables in PDF forms with iTextSharp?
全部
我必须使用 iTextSharp 填写 this PDF form。
我对header字段没有问题,但我不知道如何填写底部的table。我可以用 PdfStamper.AcroFields.SetField()
填充它的第一行,但是如果可能的话,我怎样才能添加更多行?
您的表单是基于 AcroForm 技术的表单。这意味着表单是静态的。表单中的每个字段都对应一个小部件注释,该注释在页面上为其定义了绝对位置。您不能在未预定义的坐标上添加任何数据,因此您不能 "add more rows"。你问的是不可能的。
深入了解您的 PDF:
有一个 /Fields
数组,每个字段都由一个字典定义,该字典结合了字段条目和单个小部件注释的条目。每个小部件注释在页面上都有其固定坐标。
您似乎在寻找动态表单解决方案。在这种情况下,您需要一个基于 XML 表单架构 (XFA) 的表单。您的表单不是 XFA 表单。
如果您对 AcroForm 和 XFA 技术之间的区别有疑问,请下载这本免费电子书:The Best iText Questions on Whosebug。在本书中,您会找到几个问题的答案,例如:
- What is the difference between iText, JasperReports and Adobe LC?
- Generate and design PDF with iTextSharp or similar
- How can I flatten a XFA PDF Form using iTextSharp?
- ...
这些和其他答案会让您了解一些备选方案。
全部
我必须使用 iTextSharp 填写 this PDF form。
我对header字段没有问题,但我不知道如何填写底部的table。我可以用 PdfStamper.AcroFields.SetField()
填充它的第一行,但是如果可能的话,我怎样才能添加更多行?
您的表单是基于 AcroForm 技术的表单。这意味着表单是静态的。表单中的每个字段都对应一个小部件注释,该注释在页面上为其定义了绝对位置。您不能在未预定义的坐标上添加任何数据,因此您不能 "add more rows"。你问的是不可能的。
深入了解您的 PDF:
有一个 /Fields
数组,每个字段都由一个字典定义,该字典结合了字段条目和单个小部件注释的条目。每个小部件注释在页面上都有其固定坐标。
您似乎在寻找动态表单解决方案。在这种情况下,您需要一个基于 XML 表单架构 (XFA) 的表单。您的表单不是 XFA 表单。
如果您对 AcroForm 和 XFA 技术之间的区别有疑问,请下载这本免费电子书:The Best iText Questions on Whosebug。在本书中,您会找到几个问题的答案,例如:
- What is the difference between iText, JasperReports and Adobe LC?
- Generate and design PDF with iTextSharp or similar
- How can I flatten a XFA PDF Form using iTextSharp?
- ...
这些和其他答案会让您了解一些备选方案。