删除 PDF 中的数字签名字段
Spire.PDF for .NET 是一款专门对 Word 文档进行操作的 .NET 类库。致力于在于帮助开发人员轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档,而无需安装 Microsoft Word。
行号用于在每行文本旁边显示 Word 自动计算的行数。当我们需要参考合同或法律文件等文档中的特定行时,它非常有用。word中的行号功能允许我们设置起始值、编号间隔、与文本的距离以及行号的编号方式。使用 Spire.Doc,我们可以实现上述所有功能。本文将介绍如何将 HTML 转换为 PDF。
欢迎加入spire技术交流群:767755948
作为一个全面的 PDF 组件,Spire.PDF 支持对 PDF 进行数字签名、在 PDF 中嵌入证书以及删除现有 PDF 文档中的签名。在本文中,您将学习如何使用 C#、VB.NET 删除 PDF 中的所有数字签名。
测试文件:
代码片段
第1步:创建一个新的 PdfDocument 对象并加载测试文件。
1 PdfDocument pdf = new PdfDocument("test.pdf");
第2步:从 PDF 获取已加载的表单。
1 PdfFormWidget widgets = pdf.Form as PdfFormWidget;
第3步:获取归档集合列表,判断每个归档是否为签名归档。如果是,则使用 PdfFieldCollection.RemoveAt(int index) 方法移除签名字段。
1 for (int i = 0; i < widgets.FieldsWidget.List.Count; i++)
2 {
3 PdfFieldWidget widget = widgets.FieldsWidget.List[i] as PdfFieldWidget;
4 if (widget is PdfSignatureFieldWidget)
5 {
6 widgets.FieldsWidget.RemoveAt(i);
7 }
8 }
第4步:保存并启动结果文件。
1 pdf.SaveToFile("result.pdf");
2 System.Diagnostics.Process.Start("result.pdf");
结果:
完整代码:
[C#]
01 using Spire.Pdf;
02 using Spire.Pdf.Widget;
03
04 namespace RemoveDigitalSignature
05 {
06 class Program
07 {
08 static void Main(string[] args)
09 {
10 PdfDocument pdf = new PdfDocument("test.pdf");
11
12 PdfFormWidget widgets = pdf.Form as PdfFormWidget;
13 for (int i = 0; i < widgets.FieldsWidget.List.Count; i++)
14 {
15 PdfFieldWidget widget = widgets.FieldsWidget.List[i] as PdfFieldWidget;
16 if (widget is PdfSignatureFieldWidget)
17 {
18 widgets.FieldsWidget.RemoveAt(i);
19 }
20 }
21
22 pdf.SaveToFile("result.pdf");
23 System.Diagnostics.Process.Start("result.pdf");
24 }
25 }
26 }
[VB.NET]
01 Imports Spire.Pdf
02 Imports Spire.Pdf.Widget
03
04 Namespace RemoveDigitalSignature
05 Class Program
06 Private Shared Sub Main(args As String())
07 Dim pdf As New PdfDocument("test.pdf")
08 Dim widgets As PdfFormWidget = TryCast(pdf.Form, PdfFormWidget)
09 For i As Integer = 0 To widgets.FieldsWidget.List.Count - 1
10 Dim widget As PdfFieldWidget = TryCast(widgets.FieldsWidget.List(i), PdfFieldWidget)
11 If TypeOf widget Is PdfSignatureFieldWidget Then
12
13 widgets.FieldsWidget.RemoveAt(i)
14 End If
15 Next
16
17 pdf.SaveToFile("result.pdf")
18 System.Diagnostics.Process.Start("result.pdf")
19 End Sub
20 End Class
21 End Namespace

QQ交谈
在线咨询

渝公网安备
50010702500608号

客服热线