C#中如何给PDF添加可见的数字签名
数字签名广泛用于保护PDF文档,可见数字签名在日常生活中是相当重要的。在这篇文章中我将与大家分享如何给PDF文件添加可见的数字签名。
首先我下载了一个由E-iceblue公司开发的免费版的PDF组件-Free Spire.PDF,控件安装好后,再通过下面所提及的路径把Bin文件夹里的Spire.PDF.dll添加为引用。
路径:"...\Spire.pdf-fe\Bin\NET4.0\ Spire.PDF.dll"
接下来我将提供一些代码片段来向大家展示如何添加可见的数字签名:
步骤1:新建一个PDF文档并加载一个PDF证书
//新建一个PDF文档对象,再添加一个新页面。 PdfDocument doc = new PdfDocument(); doc.Pages.Add(); //加载一个PDF证书 PdfCertificate cert = new PdfCertificate(@"C:\Users\Administrator\Desktop\gary.pfx", "e-iceblue");
步骤2:添加数字签名并设置数字签名的位置
//添加数字签名 var signature = new PdfSignature(doc, doc.Pages[0], cert, "Requestd1"); //设置数字签名的位置 signature.Bounds = new RectangleF(new PointF(280, 600), new SizeF(260, 90));
步骤3:设置显示文本属性
signature.IsTag = true;
步骤4:填充数字签名的内容
signature.DigitalSignerLable = "Digitally signed by"; signature.DigitalSigner = "Gary for Test"; signature.DistinguishedName = "DN:"; signature.LocationInfoLabel = "Location:"; signature.LocationInfo = "London"; signature.ReasonLabel = "Reason: "; signature.Reason = "Le document est certifie"; signature.DateLabel = "Date: "; signature.Date = DateTime.Now; signature.ContactInfoLabel = "Contact: "; signature.ContactInfo = "123456789"; signature.Certificated = false; signature.ConfigGraphicType = ConfiguerGraphicType.TextSignInformation;
步骤5:设置数字签名的文档权限
signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges;
步骤6:将文档以PDF格式保存到文件夹中
//保存文档 doc.SaveToFile("sample.pdf"); //打开文档 System.Diagnostics.Process.Start("sample.pdf");
效果图:
感谢您的浏览,希望本文能带给您一定的帮助。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)