PDF控件Spire.PDF for .NET安全演示:从 PDF 中删除数字签名字段

作为一个综合性的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下载

测试文件:

如何使用 C#、VB.NET 从 PDF 中删除数字签名字段

代码片段:

步骤 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#、VB.NET 从 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 中删除数字签名字段,如果您有其他问题也可以继续浏览本系列文章,获取相关教程~