刪除 PDF 中的數(shù)字簽名字段
Spire.PDF for .NET 是一款專門對 Word 文檔進行操作的 .NET 類庫。致力于在于幫助開發(fā)人員輕松快捷高效地創(chuàng)建、編輯、轉換和打印 Microsoft Word 文檔,而無需安裝 Microsoft Word。
行號用于在每行文本旁邊顯示 Word 自動計算的行數(shù)。當我們需要參考合同或法律文件等文檔中的特定行時,它非常有用。word中的行號功能允許我們設置起始值、編號間隔、與文本的距離以及行號的編號方式。使用 Spire.Doc,我們可以實現(xiàn)上述所有功能。本文將介紹如何將 HTML 轉換為 PDF。
歡迎加入spire技術交流群:767755948
作為一個全面的 PDF 組件,Spire.PDF 支持對 PDF 進行數(shù)字簽名、在 PDF 中嵌入證書以及刪除現(xiàn)有 PDF 文檔中的簽名。在本文中,您將學習如何使用 C#、VB.NET 刪除 PDF 中的所有數(shù)字簽名。
測試文件:
代碼片段
第1步:創(chuàng)建一個新的 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