当涉及到在 Internet 上共享机密文档时,PDF 加密是一项至关重要的任务。通过使用强密码加密 PDF 文件,您可以保护文件数据免遭未经授权的人员访问。在某些情况下,可能还需要删除密码才能公开文档。在本文中,您将了解如何使用Spire.PDF for .NET以编程方式加密或解密 PDF 文件。
Spire.PDF for .NET是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库,开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理,且无需安装 Adobe Acrobat。
E-iceblue功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式(qun:767755948)
Spire.PDF for.net下载 Spire.PDF for java下载
安装适用于 .NET 的 Spire.PDF
首先,您需要将 Spire.PDF for .NET 包中包含的 DLL 文件添加为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过NuGet安装。
PM> Install-Package Spire.PDF
使用密码加密 PDF 文件
加密PDF文件有两种密码——打开密码和权限密码。前者设置为打开 PDF 文件,而后者设置为限制打印、内容复制、注释等。如果 PDF 文件使用两种类型的密码保护,则可以使用任一密码打开它。
Spire.PDF for .NET 提供的PdfSecurity.Encrypt(string openPassword, stringpermissionPassword, PdfPermissionsFlags Permissions, PdfEncryptionKeySize keySize)方法允许您设置打开密码和权限密码来加密 PDF 文件。详细步骤如下。
- 创建一个PdfDocument对象。
- 使用PdfDocument.LoadFromFile()方法加载示例 PDF 文件。
- 使用PdfDocument.Security属性获取文档的安全参数。
- 使用PdfSecurity.Encrypt(string openPassword, stringpermissionPassword, PdfPermissionsFlags Permissions, PdfEncryptionKeySize keySize)方法使用打开密码和权限密码加密 PDF 文件。
- 使用PdfDocument.SaveToFile()方法保存结果文件。
【C#】
using Spire.Pdf;using Spire.Pdf.Security;namespace EncryptPDF{class Program{static void Main(string[] args){//Create a PdfDocument objectPdfDocument pdf = new PdfDocument();//Load a sample PDF filepdf.LoadFromFile(@"E:\Files\sample.pdf");//Encrypt the PDF file with passwordpdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit);//Save the result filepdf.SaveToFile("Encrypt.pdf", FileFormat.PDF);}}}
【VB.NET】
mports Spire.PdfImports Spire.Pdf.SecurityNamespace EncryptPDFClass ProgramPrivate Shared Sub Main(ByVal args As String())'Create a PdfDocument objectDim pdf As PdfDocument = New PdfDocument()'Load a sample PDF filepdf.LoadFromFile("E:\Files\sample.pdf")'Encrypt the PDF file with passwordpdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print Or PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit)'Save the result filepdf.SaveToFile("Encrypt.pdf", FileFormat.PDF)End SubEnd ClassEnd Namespace
删除密码以解密 PDF 文件
当您需要删除PDF文件的密码时,可以在调用PdfSecurity.Encrypt(string openPassword, stringpermissionPassword, PdfPermissionsFlagspermissions, PdfEncryptionKeySize keySize, stringoriginalPermissionPassword)方法时将打开密码和权限密码设置为空。详细步骤如下。
- 创建一个PdfDocument对象。
- 使用PdfDocument.LoadFromFile(字符串文件名,字符串密码)方法加载带密码的加密 PDF 文件。
- 使用PdfDocument.Security属性获取文档的安全参数。
- 通过使用PdfSecurity.Encrypt(string openPassword, stringpermissionPassword, PdfPermissionsFlagspermissions, PdfEncryptionKeySize keySize, stringoriginalPermissionPassword)方法将打开密码和权限密码设置为空来解密 PDF 文件。
- 使用PdfDocument.SaveToFile()方法保存结果文件。
【C#】
using Spire.Pdf;using Spire.Pdf.Security;namespace DecryptPDF{class Program{static void Main(string[] args){//Create a PdfDocument objectPdfDocument pdf = new PdfDocument();//Load the encrypted PDF file with passwordpdf.LoadFromFile("Encrypt.pdf", "open");//Set the password as empty to decrypt PDFpdf.Security.Encrypt(string.Empty, string.Empty, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit, "permission");//Save the result filepdf.SaveToFile("Decrypt.pdf", FileFormat.PDF);}}}
【VB.NET】
Imports Spire.PdfImports Spire.Pdf.SecurityNamespace DecryptPDFClass ProgramPrivate Shared Sub Main(ByVal args As String())'Create a PdfDocument objectDim pdf As PdfDocument = New PdfDocument()'Load the encrypted PDF file with passwordpdf.LoadFromFile("Encrypt.pdf", "open")'Set the password as empty to decrypt PDFpdf.Security.Encrypt(String.Empty, String.Empty, PdfPermissionsFlags.[Default], PdfEncryptionKeySize.Key128Bit, "permission")'Save the result filepdf.SaveToFile("Decrypt.pdf", FileFormat.PDF)End SubEnd ClassEnd Namespace
以上便是如何将加密或解密 PDF 文件,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,~