PDF处理控件Aspose.PDF功能推荐:使用C#加密和解密PDF文件

通常,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转换时的一些问题,感兴趣的朋友可点击下方按钮下载最新版。

PDF处理控件Aspose.PDF功能推荐:使用C#加密和解密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文档时,它将弹出以下对话框。

PDF处理控件Aspose.PDF功能推荐:使用C#加密和解密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文档的安全性详细信息。

PDF处理控件Aspose.PDF功能推荐:使用C#加密和解密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进行处理,非常感谢!

上一篇 2020年3月26日
下一篇 2020年3月26日

相关推荐

发表回复

登录后才能评论