本文将介绍如何使用Spire.PDF组件删除PDF文档中的指定表单域以及所有表单域。
如下PDF文档中包含了一些文本信息和5种不同的表单域,以下示例将分别介绍如何从该PDF文档中删除第一个表单域和删除所有表单域。
删除指定表单域
C#
//创建PdfDocument实例
PdfDocument pdf = new PdfDocument();
//载入PDF文档
pdf.LoadFromFile(@"Input.pdf");
//获取文档中的表单域
PdfFormWidget formWidget = pdf.Form as PdfFormWidget;
//获取并删除第一个表单域
PdfField textbox = formWidget.FieldsWidget.List[0] as PdfTextBoxFieldWidget;
formWidget.FieldsWidget.Remove(textbox);
//通过表单域的名称获取并删除第一个表单域
//PdfField field = formWidget.FieldsWidget["Text1"];
//formWidget.FieldsWidget.Remove(field);
//删除index为0的表单域,即第一个表单域
//formWidget.FieldsWidget.RemoveAt(0);
//保存文档
pdf.SaveToFile("DeleteParticularField.pdf");
VB.NET
'创建PdfDocument实例
Dim pdf As New PdfDocument()
'载入PDF文档
pdf.LoadFromFile("Input.pdf")
'获取文档中的表单域
Dim formWidget As PdfFormWidget = TryCast(pdf.Form, PdfFormWidget)
'获取并删除第一个表单域
Dim textbox As PdfField = TryCast(formWidget.FieldsWidget.List(0), PdfTextBoxFieldWidget)
formWidget.FieldsWidget.Remove(textbox)
'通过表单域的名称获取并删除第一个表单域
'PdfField field = formWidget.FieldsWidget["Text1"];
'formWidget.FieldsWidget.Remove(field);
'删除index为0的表单域,即第一个表单域
'formWidget.FieldsWidget.RemoveAt(0);
'保存文档
pdf.SaveToFile("DeleteParticularField.pdf")
删除所有表单域
C#
//创建PdfDocument实例
PdfDocument pdf = new PdfDocument();
//载入PDF文档
pdf.LoadFromFile(@"Input.pdf");
//获取文档中的表单域
PdfFormWidget formWidget = pdf.Form as PdfFormWidget;
//删除所有表单域
for (int i = formWidget.FieldsWidget.List.Count - 1; i >= 0; i--)
{
PdfField field = formWidget.FieldsWidget.List[i] as PdfField;
formWidget.FieldsWidget.Remove(field);
}
//保存文档
pdf.SaveToFile("DeleteAllFields.pdf");
VB.NET
'创建PdfDocument实例
Dim pdf As New PdfDocument()
'载入PDF文档
pdf.LoadFromFile("Input.pdf")
'获取文档中的表单域
Dim formWidget As PdfFormWidget = TryCast(pdf.Form, PdfFormWidget)
'删除所有表单域
For i As Integer = formWidget.FieldsWidget.List.Count - 1 To 0 Step -1
Dim field As PdfField = TryCast(formWidget.FieldsWidget.List(i), PdfField)
formWidget.FieldsWidget.Remove(field)
Next
'保存文档
pdf.SaveToFile("DeleteAllFields.pdf")