数字签名广泛用于保护PDF文档,可见数字签名在日常生活中是相当重要的。本篇文章将介绍添加PDF数字签名的方法

使用组件:免费版的PDF组件-Free Spire.PDF(安装好该控件后,将Spire.PDF.dll文件引用到该项目,路径"...\Spire.pdf-fe\Bin\NET4.0\ Spire.PDF.dll")。

C#(主要代码段)

  1. //新建一个PDF文档对象,再添加一个新页面。
  2. PdfDocument doc = new PdfDocument();
  3. doc.Pages.Add();
  4. //加载一个PDF证书
  5. PdfCertificate cert = new PdfCertificate(@"C:\Users\Administrator\Desktop\gary.pfx", "e-iceblue");

  6. //添加数字签名
  7. var signature = new PdfSignature(doc, doc.Pages[0], cert, "Requestd1");
  8. //设置数字签名的位置
  9. signature.Bounds = new RectangleF(new PointF(280, 600), new SizeF(260, 90));

  10. //设置显示文本属性
  11. signature.IsTag = true;
  12. //填充数字签名的内容
  13. signature.DigitalSignerLable = "Digitally signed by";
  14. signature.DigitalSigner = "Gary for Test";

  15. signature.DistinguishedName = "DN:";
  16. signature.LocationInfoLabel = "Location:";
  17. signature.LocationInfo = "London";

  18. signature.ReasonLabel = "Reason: ";
  19. signature.Reason = "Le document est certifie";

  20. signature.DateLabel = "Date: ";
  21. signature.Date = DateTime.Now;

  22. signature.ContactInfoLabel = "Contact: ";
  23. signature.ContactInfo = "123456789";

  24. signature.Certificated = false;
  25. signature.ConfigGraphicType = ConfiguerGraphicType.TextSignInformation;

  26. //设置数字签名的文档权限
  27. signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges;

  28. //将文档以PDF格式保存到文件夹中
  29. doc.SaveToFile("sample.pdf");
  30. System.Diagnostics.Process.Start("sample.pdf");
代码完成之后,运行程序生成文档。
运行结果:
C# 添加PDF数字签名-LMLPHP


09-26 16:08