通常,PDF文档使用打开文档所需的密码进行加密。另一方面,您也可以将访问权限限制为各种操作,Aspose的PDF库Aspose.PDF for .NET提供了一些简单的方法,可使用C#和VB.NET。在本文中,我将向您展示如何使用C#以编程方式执行PDF加密和解密。
PDF加密用于保护PDF文档免遭未经授权的访问。如果PDF文档已加密,则必须对其进行解密才能访问其内容,否则它将无法读取。通常,PDF文档使用打开文档所需的密码进行加密。另一方面,您也可以将访问权限限制为各种操作,例如打印,编辑,复制等。
Aspose的PDF库Aspose.PDF for .NET提供了一些简单的方法,可使用C#和VB.NET。在本文中,我将向您展示如何使用C#以编程方式执行PDF加密和解密,包括以下内容:
- 加密PDF文档。
- 更改PDF文档中的安全权限。
- 解密PDF文档。
近日,.NET版Aspose.PDF升级到v20.4版,添加使用图像文件流作为表格单元格背景的功能,修复PDF转换时的一些问题,感兴趣的朋友可点击下方按钮下载最新版。
用C#加密PDF文档
为了加密PDF文件,您需要设置打开和查看文档所需的密码。另外,您必须指定所需的加密算法作为加密方法。.NET的Aspose.PDF支持以下加密方法:
- 带40位密钥的RC4。
- 带128位密钥的RC4。
- 带有128位密钥的AES。
- 带有256位密钥的AES。
加密PDF文档的步骤
以下是使用C#加密PDF文档的简单步骤。
- 使用Document类加载PDF文档。
- 使用Document.Encrypt方法使用密码和加密算法对PDF文档进行加密。
- 使用Document.Save方法保存加密的PDF文档。
以下代码示例显示了如何使用C#加密PDF文档。
// Open documentDocument document = new Document("Encrypt.pdf");// Encrypt PDF document.Encrypt("user_password", "owner_password", 0 /*permissions*/, CryptoAlgorithm.RC4x128);// Save updated PDFdocument.Save("Encrypted PDF.pdf");
当在Adobe Reader中打开此加密的PDF文档时,它将弹出以下对话框。
在C#中更改PDF文件的安全权限
Aspose.PDF通过限制用户的许可来增强PDF文档的安全性。在这种情况下,可以指定用户允许的操作。以下是可以设置为允许用户的权限的列表。
- 打印文档 –允许打印文档。
- 修改内容 –允许修改文档的内容。
- 提取内容 –允许从文档中复制内容。
- 修改文本注释 –允许添加或修改文本注释。
- 填写表格 –允许填写交互式表格字段。
- 提取具有残疾的内容 –允许提取文本和图形(适用于残疾用户)。
- 组装文档 –允许插入,旋转或删除页面以及创建书签或缩略图图像。
- 打印质量 –允许以高分辨率打印文档。
更改PDF文件的安全权限的步骤
以下是更改PDF文档安全权限的步骤。
- 加载PDF文档。
- 使用Document.Encrypt方法设置安全权限。
- 保存加密的PDF文档。
以下代码示例显示了如何使用C#更改PDF文档的权限。
// Open documentDocument document = new Document("Encrypt.pdf");// Encrypt PDF with print permissiondocument.Encrypt("user_password", "owner_password", Permissions.PrintDocument | Permissions.PrintingQuality, CryptoAlgorithm.RC4x128);// Save updated PDFdocument.Save("Encrypted PDF.pdf");
设置或修改PDF文档特权的另一种方法是使用DocumentPrivilege类。该DocumentPrivilege类允许您定义的权限或特权用户。下面的代码示例演示如何使用C#中的DocumentPrivilege类设置PDF文档的安全权限。
// Open documentDocument document = new Document("Encrypt.pdf");// Apply restrictions on all privilegesDocumentPrivilege privileges = DocumentPrivilege.ForbidAll;// Allow desired privilegesprivileges.AllowScreenReaders = true;privileges.AllowPrint = true;// Encrypt PDFdocument.Encrypt("user_password", "owner_password", privileges, CryptoAlgorithm.RC4x128, false);// Save updated PDFdocument.Save("Encrypted PDF.pdf");
以下是我们在本节中加密的PDF文档的安全性详细信息。
使用C#解密PDF文档
为了解密PDF文档,您必须具有该文档的用户或所有者密码。以下是解密PDF文档的简单步骤:
- 通过指定用户或所有者的密码,使用Document类加载PDF文档。
- 调用Document.Decrypt()方法。
- 保存解密的PDF文档。
以下代码示例显示了如何使用C#解密PDF文档。
// Open document by specifying its user's or owner's passwordDocument document = new Document("Encrypted PDF.pdf", "user_password");// Decrypt PDF document.Decrypt();// Save updated PDFdocument.Save("Decrypted PDF.pdf");
还想要更多吗可以点击阅读【2019 · Aspose最新资源整合】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(),我们很高兴为您提供查询和咨询。
标签:
来源:慧都
声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!