出于保護(hù)一些重要文檔的目的,常通過加密文檔來設(shè)置文檔打開權(quán)限或者編輯、操作的權(quán)限。以下示例內(nèi)容將分享通過C#編程來加密PDF文檔的方法,此方法中通過同時(shí)設(shè)置文檔打開口令和許可口令兩種加密口令來保護(hù)文檔。文檔打開口令只能用于打開文檔,而許可口令則是級(jí)別更高的口令,它既可以打開文檔,也可以用來編輯和修改文檔的權(quán)限。根據(jù)文檔加密需要,也可任意選擇以上兩種口令中的一種來加密文檔。
嘉祥網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),嘉祥網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為嘉祥上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的嘉祥做網(wǎng)站的公司定做!
使用工具: Free Spire.PDF for .NET(免費(fèi)版)
注: 下載該庫(kù)后并解壓。在程序中添加引用程序集Spire.Pdf.dll文件(如下圖)。同時(shí)在編輯代碼時(shí)添加相應(yīng)的using指令。
【示例1】加密PDF文檔
using Spire.Pdf; using Spire.Pdf.Security; namespace Encrypt_PDF { class Program { static void Main(string[] args) { //創(chuàng)建PdfDocument類的對(duì)象,并加載測(cè)試文檔 PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile("test.pdf"); //設(shè)置打開文檔的口令以及許可口令 pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit); //保存加密后的文檔 pdf.SaveToFile("Encrypted.pdf", FileFormat.PDF); System.Diagnostics.Process.Start("Encrypted.pdf"); } } }
運(yùn)行程序后,生成的文檔需輸入密碼打開文檔或輸入許可口令用于操作文檔。
打開已加密文檔時(shí)的窗口提示:
打開文檔后可進(jìn)一步查看文檔其他權(quán)限:
【示例2】解密PDF文檔
using Spire.Pdf; using Spire.Pdf.Security; namespace DecryptPDF { class Program { static void Main(string[] args) { //使用密碼加載一個(gè)加密的PDF文檔 PdfDocument pdf = new PdfDocument(); pdf.LoadFromFile("Encrypted.pdf", "open"); //將打開口令和許可口令設(shè)置為空,同時(shí)設(shè)置文檔權(quán)限,加密級(jí)別,輸入原始許可口令 pdf.Security.Encrypt(string.Empty, string.Empty, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit, "permission"); //保存解密后的文檔 pdf.SaveToFile("Decrypted.pdf"); System.Diagnostics.Process.Start("Decrypted.pdf"); } } }
運(yùn)行程序后,文檔將不再受密碼保護(hù)。
(本文完)