2015-04-01 146 views
1

全部如何用iTextSharp填充PDF表格?

我必须填写this PDF form使用iTextSharp

我没有问题的头字段,但我不知道如何填写表底部。我可以用PdfStamper.AcroFields.SetField()来填充它的第一行,但是如果可能的话,我怎样才能添加更多的行呢?

回答

2

您的表单是基于AcroForm技术的表单。这意味着表单是静态的。表单中的每个字段都对应于页面上定义了绝对位置的窗口小部件注释。您不能在未预定义的坐标上添加任何数据,因此您不能“添加更多行”。你所要求的是不可能的。

看看您的PDF的引擎盖下:

enter image description here

还有的/Fields数组,每个字段按合并字段项和一个Widget注释的条目的字典定义。每个小部件注释在页面上都有固定的坐标。

看来您正在寻找一个动态表单解决方案。在这种情况下,您需要基于XML Forms Architecture(XFA)的表单。您的表单不是XFA表单。

如果您对AcroForm和XFA技术之间的区别有疑问,请下载此免费电子书:The Best iText Questions on StackOverflow。在这本书中,你会找到答案的几个问题,如:

这些和其他的答案会给你一个一些备选方案的想法。