C# 在PDF中创建和填充域攻略
步骤 1: 导入依赖库
在开始前,请确保你已经安装了以下依赖库:
using iTextSharp.text;
using iTextSharp.text.pdf;
步骤 2: 创建PDF并添加表单域
首先,我们需要创建一个空的PDF文件,并且添加表单域。
// 创建一个空白PDF文档
Document document = new Document();
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create));
document.Open();
// 创建表单
PdfContentByte cb = writer.DirectContent;
PdfFormField formField;
// 创建文本域
formField = PdfFormField.CreateTextField(writer, false, false, 100);
formField.SetWidget(new Rectangle(100, 700, 200, 750), PdfAnnotation.HIGHLIGHT_INVERT);
formField.FieldName = "textfield";
formField.DefaultValue = "默认文本";
cb.AddAnnotation(formField);
// 创建复选框
formField = PdfFormField.CreateCheckBox(writer);
formField.SetWidget(new Rectangle(100, 650, 120, 670), PdfAnnotation.HIGHLIGHT_INVERT);
formField.FieldName = "checkbox";
formField.Checked = true;
cb.AddAnnotation(formField);
// 创建单选框
formField = PdfFormField.CreateRadioButton(writer, true);
formField.SetWidget(new Rectangle(100, 600, 120, 620), PdfAnnotation.HIGHLIGHT_INVERT);
formField.FieldName = "radiobutton";
formField.ValueAsName = "选项一";
cb.AddAnnotation(formField);
// 创建下拉框
formField = PdfFormField.CreateCombo(writer, false);
formField.SetWidget(new Rectangle(100, 550, 200, 570), PdfAnnotation.HIGHLIGHT_INVERT);
formField.FieldName = "dropdown";
formField.Options = new string[] { "选项一", "选项二", "选项三" };
cb.AddAnnotation(formField);
// 创建列表框
formField = PdfFormField.CreateList(writer, false);
formField.SetWidget(new Rectangle(100, 500, 200, 520), PdfAnnotation.HIGHLIGHT_INVERT);
formField.FieldName = "listbox";
formField.Options = new string[] { "选项一", "选项二", "选项三" };
cb.AddAnnotation(formField);
// 关闭PDF文档
document.Close();
该示例中,我们创建了一个空白的PDF文档,并为其添加了文本域、复选框、单选框、下拉框和列表框五种表单域。
步骤 3: 读取并填充表单域
接下来,我们将展示如何读取并填充已存在的表单域。
// 打开已有的PDF文档
PdfReader reader = new PdfReader("input.pdf");
PdfStamper stamper = new PdfStamper(reader, new FileStream("output.pdf", FileMode.Create));
// 获取表单域
AcroFields formFields = stamper.AcroFields;
// 填充文本域
formFields.SetField("textfield", "填充的文本");
// 填充复选框
formFields.SetField("checkbox", "是");
// 填充单选框
formFields.SetField("radiobutton", "选项一");
// 填充下拉框
formFields.SetField("dropdown", "选项二");
// 填充列表框
formFields.SetField("listbox", "选项三");
// 关闭PDF文档
stamper.Close();
reader.Close();
该示例中,我们打开了一个已存在的PDF文档,并使用AcroFields对象获取表单域。然后,我们使用SetField方法填充了文本域、复选框、单选框、下拉框和列表框。
以上就是使用C#创建和填充PDF表单域的完整攻略,你可以根据自己的需求来进行相应的调整和扩展。完成上述步骤后,你将能够在PDF中创建和填充各种类型的表单域。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 在PDF中创建和填充域 - Python技术站