c# 給pdf添加數(shù)字簽名的步驟
數(shù)字簽名廣泛用于保護(hù)PDF文檔,可見(jiàn)數(shù)字簽名在日常生活中是相當(dāng)重要的。在這篇文章中我將與大家分享如何給PDF文件添加可見(jiàn)的數(shù)字簽名。
首先我下載了一個(gè)由E-iceblue公司開(kāi)發(fā)的免費(fèi)版的PDF組件-Free Spire.PDF,控件安裝好后,再通過(guò)下面所提及的路徑把Bin文件夾里的Spire.PDF.dll添加為引用。
路徑:"...\Spire.pdf-fe\Bin\NET4.0\ Spire.PDF.dll"
接下來(lái)我將提供一些代碼片段來(lái)向大家展示如何添加可見(jiàn)的數(shù)字簽名:
步驟1:新建一個(gè)PDF文檔并加載一個(gè)PDF證書(shū)
//新建一個(gè)PDF文檔對(duì)象,再添加一個(gè)新頁(yè)面。 PdfDocument doc = new PdfDocument(); doc.Pages.Add(); //加載一個(gè)PDF證書(shū) PdfCertificate cert = new PdfCertificate(@"C:\Users\Administrator\Desktop\gary.pfx", "e-iceblue");
步驟2:添加數(shù)字簽名并設(shè)置數(shù)字簽名的位置
//添加數(shù)字簽名 var signature = new PdfSignature(doc, doc.Pages[0], cert, "Requestd1"); //設(shè)置數(shù)字簽名的位置 signature.Bounds = new RectangleF(new PointF(280, 600), new SizeF(260, 90));
步驟3:設(shè)置顯示文本屬性
signature.IsTag = true;
步驟4:填充數(shù)字簽名的內(nèi)容
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:設(shè)置數(shù)字簽名的文檔權(quán)限
signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges;
步驟6:將文檔以PDF格式保存到文件夾中
//保存文檔
doc.SaveToFile("sample.pdf");
//打開(kāi)文檔
System.Diagnostics.Process.Start("sample.pdf");
效果圖:

以上就是c# 給pdf添加數(shù)字簽名的步驟的詳細(xì)內(nèi)容,更多關(guān)于c# pdf添加數(shù)字簽名的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C#使用SQLDMO操作數(shù)據(jù)庫(kù)的方法
這篇文章主要介紹了C#使用SQLDMO操作數(shù)據(jù)庫(kù)的方法,實(shí)例分析了基于SQLDMO.dll動(dòng)態(tài)鏈接庫(kù)操作數(shù)據(jù)庫(kù)的相關(guān)技巧,需要的朋友可以參考下2015-06-06
總結(jié)C#動(dòng)態(tài)調(diào)用WCF接口的兩種方法
這篇文章給大家總結(jié)了C#動(dòng)態(tài)調(diào)用WCF接口的兩種方法,大家可以根據(jù)自己的需求選擇對(duì)應(yīng)的方式,下面來(lái)一起看看。2016-09-09
WPF中實(shí)現(xiàn)彈出進(jìn)度條窗口的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何WPF中實(shí)現(xiàn)彈出進(jìn)度條窗口,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-11
C#實(shí)現(xiàn)的滾動(dòng)網(wǎng)頁(yè)截圖功能示例
這篇文章主要介紹了C#實(shí)現(xiàn)的滾動(dòng)網(wǎng)頁(yè)截圖功能,結(jié)合具體實(shí)例形式分析了C#圖形操作的相關(guān)技巧,需要的朋友可以參考下2017-07-07
WinForm 自動(dòng)完成控件實(shí)例代碼簡(jiǎn)析
在Web的應(yīng)用方面有js的插件實(shí)現(xiàn)自動(dòng)完成(或叫智能提示)功能,但在WinForm窗體應(yīng)用方面就沒(méi)那么好了,接下來(lái)參考一下這個(gè)實(shí)例,看看有沒(méi)有以外收獲,感興趣的朋友可以了解下啊,希望本文對(duì)你有幫助啊2013-01-01
Dictionary擴(kuò)展基礎(chǔ)類(lèi)向字典中添加鍵和值
Dictionary<TKey, TValue> 類(lèi)是常用的一個(gè)基礎(chǔ)類(lèi),但用起來(lái)有時(shí)確不是很方便。本文逐一討論,并使用擴(kuò)展方法解決2013-11-11

