彩票走势图

logo E-iceblue中文文档
文档彩票走势图>>E-iceblue中文文档>>在 PDF 签名中获取所有证书

在 PDF 签名中获取所有证书


Spire.PDF for .NET 是一款专门对 Word 文档进行操作的 .NET 类库。致力于在于帮助开发人员轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档,而无需安装 Microsoft Word。

行号用于在每行文本旁边显示 Word 自动计算的行数。当我们需要参考合同或法律文件等文档中的特定行时,它非常有用。word中的行号功能允许我们设置起始值、编号间隔、与文本的距离以及行号的编号方式。使用 Spire.Doc,我们可以实现上述所有功能。本文将介绍如何将 HTML 转换为 PDF。

Spire.PDF for.NET 最新下载

欢迎加入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();
        }
    }
}
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP