作为一个综合性的PDF组件,Spire.PDF支持对PDF进行数字签名、在PDF中嵌入证书以及删除现有PDF文档中的签名。在本文中,您将了解如何使用 C#、VB.NET 从 PDF 中删除所有数字签名。
Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库,开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理,且无需安装 Adobe Acrobat。
E-iceblue 功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式
Spire.PDF for.net下载 Spire.PDF for java下载
测试文件:
代码片段:
步骤 1:创建一个新的 PdfDocument 对象并加载测试文件。
PdfDocument pdf = new PdfDocument("test.pdf");
步骤 2:从 PDF 获取加载的表单。
PdfFormWidget widgets = pdf.Form as PdfFormWidget;
步骤 3:获取归档收藏列表,判断每个归档是否为签名归档。如果是,请使用PdfFieldCollection.RemoveAt(int index)方法删除签名字段。
for (int i = 0; i < widgets.FieldsWidget.List.Count; i++) { PdfFieldWidget widget = widgets.FieldsWidget.List[i] as PdfFieldWidget; if (widget is PdfSignatureFieldWidget) { widgets.FieldsWidget.RemoveAt(i); } }
步骤 4:保存并启动结果文件。
pdf.SaveToFile("result.pdf"); System.Diagnostics.Process.Start("result.pdf");
结果
完整代码:
【C#】
using Spire.Pdf; using Spire.Pdf.Widget; namespace RemoveDigitalSignature { class Program { static void Main(string[] args) { PdfDocument pdf = new PdfDocument("test.pdf"); PdfFormWidget widgets = pdf.Form as PdfFormWidget; for (int i = 0; i < widgets.FieldsWidget.List.Count; i++) { PdfFieldWidget widget = widgets.FieldsWidget.List[i] as PdfFieldWidget; if (widget is PdfSignatureFieldWidget) { widgets.FieldsWidget.RemoveAt(i); } } pdf.SaveToFile("result.pdf"); System.Diagnostics.Process.Start("result.pdf"); } } }
【VB.NET】
Imports Spire.Pdf Imports Spire.Pdf.Widget Namespace RemoveDigitalSignature Class Program Private Shared Sub Main(args As String()) Dim pdf As New PdfDocument("test.pdf") Dim widgets As PdfFormWidget = TryCast(pdf.Form, PdfFormWidget) For i As Integer = 0 To widgets.FieldsWidget.List.Count - 1 Dim widget As PdfFieldWidget = TryCast(widgets.FieldsWidget.List(i), PdfFieldWidget) If TypeOf widget Is PdfSignatureFieldWidget Then widgets.FieldsWidget.RemoveAt(i) End If Next pdf.SaveToFile("result.pdf") System.Diagnostics.Process.Start("result.pdf") End Sub End Class End Namespace
以上便是如何在 C#/VB.NET 中从 PDF 中删除数字签名字段,如果您有其他问题也可以继续浏览本系列文章,获取相关教程~