文档彩票走势图>>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(); } } }