iText 7.NET添加表单域时所有字段在最后一页重复出现问题求助
问题根因
- iText 7的
PdfAcroForm.AddField()单参数重载默认会将表单域控件渲染到文档最后一页,你单独调用SetPage()方法无法覆盖这个默认逻辑,所以会出现表单域同时出现在指定页和最后一页的重复问题。 - 要指定表单域绑定到固定页面,必须使用双参数的
AddField()重载,直接传入目标页面对象。
修正后代码
PdfReader reader = new PdfReader(inputFile); PdfDocument pdf2 = new PdfDocument(reader, new PdfWriter(outputFile)); PdfAcroForm form = PdfAcroForm.GetAcroForm(pdf2, true); PdfFormField tf = PdfTextFormField.CreateText( pdf2, new Rectangle(1, 20, 30, 40), "Field1", ""); tf.SetBorderColor(ColorConstants.RED); tf.SetBorderWidth(2); // 改动点:使用双参数AddField重载,传入目标页面对象(页码从1开始计数) form.AddField(tf, pdf2.GetPage(1)); pdf2.Close();
内容的提问来源于stack exchange,提问作者ju209192
相关产品推荐
相关产品推荐

