PDF转换控件Aspose.PDF for .Net使用教程(十一):设置权限,加密和解密PDF文件
Aspose.PDF for .NET是一种高PDF处理和解析API,用于在跨平台应用程序中执行文档管理和操作任务。API可以轻松用于生成、修改、转换、渲染、保护和打印PDF文档,而无需使用Adobe Acrobat。此外,API还提供PDF压缩选项,表格创建和操作,图形和图像功能,广泛的超链接功能,印章和水印任务,扩展的安全控制和自定义字体处理。
在接下来的系列教程中,将为开发者带来Aspose.PDF for .NET的一系列使用教程,例如进行文档间的转换,如何标记PDF文件,如何使用表单和图表等等。
第四章:使用安全性和签名
▲第一节:设置权限,加密和解密PDF文件
在现有PDF文件上设置权限
要为PDF文件设置权限,请创建DocumentPrivilege该类的对象,并指定要在文档上应用的权限。一旦定义了特权,就将此对象作为参数传递给Document对象的Encrypt(..)方法。以下代码段显示了如何设置PDF文件的权限。
// 文档目录的路径。 string dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures(); //加载源PDF文件 using (Document document = new Document(dataDir + "input.pdf")) { //实例化文档权限对象 //对所有权限应用限制 DocumentPrivilege documentPrivilege = DocumentPrivilege.ForbidAll; //仅允许屏幕阅读 documentPrivilege.AllowScreenReaders = true; // 使用用户和所有者密码加密文件。 //需要设置密码,以便一旦用户使用用户密码查看文件, // 仅启用屏幕阅读选项 document.Encrypt("user", "owner", documentPrivilege, CryptoAlgorithm.AESx128, false); //保存更新的文档 document.Save(dataDir + "SetPrivileges_out.pdf"); }
使用不同的加密类型和算法加密PDF文件
使用Document对象的Encrypt方法来加密PDF文件,可以将用户密码,所有者密码和权限传递给Encrypt方法。除此之外,还可以传递CryptoAlgorithm枚举的任何值。此枚举提供加密算法和密钥大小的不同组合。最后,使用Document对象的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文件,首先需要创建Document对象并使用所有者密码打开PDF。之后,需要调用Document对象的Decrypt方法。最后,使用Document对象的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对象的所有者密码打开PDF文件。之后,需要调用Document对象的ChangePasswords方法。将当前所有者密码以及新用户密码和新所有者密码传递给此方法。最后,使用Document对象的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示例资源最全分享!
*悦满中秋 · 购享好礼,现在购买Aspose系列产品即可领取精美礼品哟,更多活动详情可了解哦~
ASPOSE技术交流QQ群(642018183)已开通,各类资源及时分享,欢迎交流讨论!
扫描关注“慧聚IT”微信公众号,及时获取更多产品最新动态及最新资讯