PDF轉(zhuǎn)換控件Aspose.PDF for .Net使用教程(十一):設(shè)置權(quán)限,加密和解密PDF文件
Aspose.PDF for .NET是一種高PDF處理和解析API,用于在跨平臺(tái)應(yīng)用程序中執(zhí)行文檔管理和操作任務(wù)。API可以輕松用于生成、修改、轉(zhuǎn)換、渲染、保護(hù)和打印PDF文檔,而無需使用Adobe Acrobat。此外,API還提供PDF壓縮選項(xiàng),表格創(chuàng)建和操作,圖形和圖像功能,廣泛的超鏈接功能,印章和水印任務(wù),擴(kuò)展的安全控制和自定義字體處理。
【下載體驗(yàn)Aspose.PDF for .NET最新版】
在接下來的系列教程中,將為開發(fā)者帶來Aspose.PDF for .NET的一系列使用教程,例如進(jìn)行文檔間的轉(zhuǎn)換,如何標(biāo)記PDF文件,如何使用表單和圖表等等。
第四章:使用安全性和簽名
▲第一節(jié):設(shè)置權(quán)限,加密和解密PDF文件
在現(xiàn)有PDF文件上設(shè)置權(quán)限
要為PDF文件設(shè)置權(quán)限,請(qǐng)創(chuàng)建DocumentPrivilege該類的對(duì)象,并指定要在文檔上應(yīng)用的權(quán)限。一旦定義了特權(quán),就將此對(duì)象作為參數(shù)傳遞給Document對(duì)象的Encrypt(..)方法。以下代碼段顯示了如何設(shè)置PDF文件的權(quán)限。
// 文檔目錄的路徑。 string dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures(); //加載源PDF文件 using (Document document = new Document(dataDir + "input.pdf")) { //實(shí)例化文檔權(quán)限對(duì)象 //對(duì)所有權(quán)限應(yīng)用限制 DocumentPrivilege documentPrivilege = DocumentPrivilege.ForbidAll; //僅允許屏幕閱讀 documentPrivilege.AllowScreenReaders = true; // 使用用戶和所有者密碼加密文件。 //需要設(shè)置密碼,以便一旦用戶使用用戶密碼查看文件, // 僅啟用屏幕閱讀選項(xiàng) document.Encrypt("user", "owner", documentPrivilege, CryptoAlgorithm.AESx128, false); //保存更新的文檔 document.Save(dataDir + "SetPrivileges_out.pdf"); }
使用不同的加密類型和算法加密PDF文件
使用Document對(duì)象的Encrypt方法來加密PDF文件,可以將用戶密碼,所有者密碼和權(quán)限傳遞給Encrypt方法。除此之外,還可以傳遞CryptoAlgorithm枚舉的任何值。此枚舉提供加密算法和密鑰大小的不同組合。最后,使用Document對(duì)象的Save方法保存加密的PDF文件。
//文檔目錄的路徑 string dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures(); //打開文檔 Document document = new Document(dataDir+ "Encrypt.pdf"); //加密PDF document.Encrypt("user", "owner", 0, CryptoAlgorithm.RC4x128); dataDir = dataDir + "Encrypt_out.pdf"; //保存更新的PDF document.Save(dataDir);
使用所有者密碼解密PDF文件
要解密PDF文件,首先需要?jiǎng)?chuàng)建Document對(duì)象并使用所有者密碼打開PDF。之后,需要調(diào)用Document對(duì)象的Decrypt方法。最后,使用Document對(duì)象的Save方法保存更新的PDF文件。以下代碼段顯示了如何解密PDF文件。
// 文檔目錄的路徑. string dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures(); // 打開文檔 Document document = new Document(dataDir+ "Decrypt.pdf", "password"); //解密PDF document.Decrypt(); dataDir = dataDir + "Decrypt_out.pdf"; //保存更新的PDF document.Save(dataDir);
更改PDF文件的密碼
如果要更改PDF文件的密碼,首先需要使用帶有Document對(duì)象的所有者密碼打開PDF文件。之后,需要調(diào)用Document對(duì)象的ChangePasswords方法。將當(dāng)前所有者密碼以及新用戶密碼和新所有者密碼傳遞給此方法。最后,使用Document對(duì)象的Save方法保存更新的PDF文件。
//文檔目錄的路徑 string dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures(); //打開文檔 Document document = new Document(dataDir+ "ChangePassword.pdf", "owner"); //更改密碼 document.ChangePasswords("owner", "newuser", "newowner"); dataDir = dataDir + "ChangePassword_out.pdf"; //保存更新的PDF document.Save(dataDir);
推薦閱讀:【干貨來襲】Aspose.PDF示例資源最全分享!
*悅滿中秋 · 購享好禮,現(xiàn)在購買Aspose系列產(chǎn)品即可領(lǐng)取精美禮品喲,更多活動(dòng)詳情可咨詢?cè)诰€客服了解哦~
ASPOSE技術(shù)交流QQ群(642018183)已開通,各類資源及時(shí)分享,歡迎交流討論!
掃描關(guān)注“慧聚IT”微信公眾號(hào),及時(shí)獲取更多產(chǎn)品最新動(dòng)態(tài)及最新資訊