c# 给pdf添加数字签名的步骤

 更新时间:2020年12月15日 09:28:45   作者:E-iceblue  
这篇文章主要介绍了c# 给pdf添加数字签名的步骤,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下

数字签名广泛用于保护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");

效果图:

以上就是c# 给pdf添加数字签名的步骤的详细内容,更多关于c# pdf添加数字签名的资料请关注脚本之家其它相关文章!

相关文章

  • C#使用SQLDMO操作数据库的方法

    C#使用SQLDMO操作数据库的方法

    这篇文章主要介绍了C#使用SQLDMO操作数据库的方法,实例分析了基于SQLDMO.dll动态链接库操作数据库的相关技巧,需要的朋友可以参考下
    2015-06-06
  • 总结C#动态调用WCF接口的两种方法

    总结C#动态调用WCF接口的两种方法

    这篇文章给大家总结了C#动态调用WCF接口的两种方法,大家可以根据自己的需求选择对应的方式,下面来一起看看。
    2016-09-09
  • C# StartsWith 字符串的实例方法解析

    C# StartsWith 字符串的实例方法解析

    这篇文章主要介绍了C# StartsWith 字符串的实例方法,StartsWith 方法对于需要检查字符串的前缀是否匹配特定模式的情况非常有用,你可以根据返回的布尔值,根据需要执行相应的逻辑操作,需要的朋友可以参考下
    2024-03-03
  • 如何在C#中使用Dapper ORM

    如何在C#中使用Dapper ORM

    这篇文章主要介绍了如何在C#中使用Dapper ORM,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下
    2021-03-03
  • WPF中实现弹出进度条窗口的示例详解

    WPF中实现弹出进度条窗口的示例详解

    这篇文章主要为大家详细介绍了如何WPF中实现弹出进度条窗口,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-11-11
  • 基于C#实现磁性吸附窗体

    基于C#实现磁性吸附窗体

    这篇文章主要为大家详细介绍了如何利用C#实现磁性吸附窗体,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • C#实现的滚动网页截图功能示例

    C#实现的滚动网页截图功能示例

    这篇文章主要介绍了C#实现的滚动网页截图功能,结合具体实例形式分析了C#图形操作的相关技巧,需要的朋友可以参考下
    2017-07-07
  • 详谈C++引用&和指针在作为形参时的区别

    详谈C++引用&和指针在作为形参时的区别

    下面小编就为大家带来一篇详谈C++引用&和指针在作为形参时的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • WinForm 自动完成控件实例代码简析

    WinForm 自动完成控件实例代码简析

    在Web的应用方面有js的插件实现自动完成(或叫智能提示)功能,但在WinForm窗体应用方面就没那么好了,接下来参考一下这个实例,看看有没有以外收获,感兴趣的朋友可以了解下啊,希望本文对你有帮助啊
    2013-01-01
  • Dictionary扩展基础类向字典中添加键和值

    Dictionary扩展基础类向字典中添加键和值

    Dictionary<TKey, TValue> 类是常用的一个基础类,但用起来有时确不是很方便。本文逐一讨论,并使用扩展方法解决
    2013-11-11

最新评论