文檔金喜正規買球>>E-iceblue中文文檔>>在 PDF 簽名中獲取所有證書
在 PDF 簽名中獲取所有證書
Spire.PDF for .NET 是一款專門對 Word 文檔進行操作的 .NET 類庫。致力于在于幫助開發人員輕松快捷高效地創建、編輯、轉換和打印 Microsoft Word 文檔,而無需安裝 Microsoft Word。
行號用于在每行文本旁邊顯示 Word 自動計算的行數。當我們需要參考合同或法律文件等文檔中的特定行時,它非常有用。word中的行號功能允許我們設置起始值、編號間隔、與文本的距離以及行號的編號方式。使用 Spire.Doc,我們可以實現上述所有功能。本文將介紹如何將 HTML 轉換為 PDF。
歡迎加入spire技術交流群:767755948
Spire.PDF 允許獲取和驗證 PDF 文件中的特定簽名,現在從 3.8.82 版開始,Spire.PDF 支持獲取 PDF 簽名中的所有證書。在本文中,我們將向您展示如何使用 Spire.PDF 實現此任務的步驟。
為了演示,我們使用了一個包含兩個證書的 PDF 文件模板:
代碼片段
第 1 步:實例化 PdfDocument 對象并加載 PDF 文件。
PdfDocument doc = new PdfDocument(); doc.LoadFromFile("UPS.pdf");
第 2 步:創建一個列表對象。
List<PdfSignature> signatures = new List<PdfSignature>();
第 3 步:從 PDF 文件中獲取所有簽名,并將其添加到列表對象中。
var form = (PdfFormWidget)doc.Form; for (int i = 0; i < form.FieldsWidget.Count; ++i) { var field = form.FieldsWidget[i] as PdfSignatureFieldWidget; if (field != null && field.Signature != null) { PdfSignature signature = field.Signature; signatures.Add(signature); } }
第 4 步:從列表中獲取第一個簽名,然后從簽名中獲取所有證書。
PdfSignature signatureOne = signatures[0]; X509Certificate2Collection collection = signatureOne.Certificates;
有效截圖:

完整代碼:
using System; using System.Collections.Generic; using System.Security.Cryptography.X509Certificates; using Spire.Pdf; using Spire.Pdf.Security; using Spire.Pdf.Widget; namespace Get_all_certificates_in_PDF_signature { class Program { static void Main(string[] args) { PdfDocument doc = new PdfDocument(); doc.LoadFromFile("UPS.pdf"); List<PdfSignature> signatures = new List<PdfSignature>(); var form = (PdfFormWidget)doc.Form; for (int i = 0; i < form.FieldsWidget.Count; ++i) { var field = form.FieldsWidget[i] as PdfSignatureFieldWidget; if (field != null && field.Signature != null) { PdfSignature signature = field.Signature; signatures.Add(signature); } } PdfSignature signatureOne = signatures[0]; X509Certificate2Collection collection = signatureOne.Certificates; foreach (var certificate in collection) { Console.WriteLine(certificate.Subject); } Console.ReadKey(); } } }