Spire.PDF具有强大的功能,可以使用密码加密和解密PDF文档。我们已经通过代码进行了一些调整以保护PDF文件。如果您在之前使用Spire.PDF版本3.9.421,请参考这里的教程解密PDF,加密PDF在C#。从Spire.PDF v 3.9.421开始,您应该使用本文中提供的新方法。此示例说明如何使用C#通过以下两部分使用密码保护和取消保护PDF文件:
- 加密PDF
- 解密PDF
加密PDF
加密PDF有两种密码,开密码和修改密码。打开密码仅设置为打开密码。修改密码不仅设置为打开PDF文件,还设置打印限制,内容复制,注释等。
Spire.PDF提供pdf.Security.Encrypt(字符串openPassword,字符串permissionPassword,PdfPermissionsFlags权限,PdfEncryptionKeySize keySize)方法,以便我们从打开,访问权限和设置PDF密钥大小来加密PDF文件。
//从文件加载文档
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile( “Sample.pdf”);
//加密PDF文件
pdf.Security.Encrypt(“open”,“permission”,PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent,PdfEncryptionKeySize.Key128Bit);
//将文档保存到文件
pdf.SaveToFile(“Encrypted.pdf”,FileFormat.PDF);
解密PDF
我们需要通过调用方法PdfDocument.LoadFromFile(字符串文件名,字符串密码)来加载带有密码的加密PDF文件(打开密码或修改密码是OK )。然后使用pdf.Security.Encrypt方法(字符串openPassword,字符串permissionPassword,PdfPermissionsFlags权限,PdfEncryptionKeySize keySize,字符串originalPermissionPassword)重置密码或将密码设置为空以解密PDF文件。
//使用打开的密码加载加密的PDF文件
PdfDocument pdf = new PdfDocument();
pdf.LoadFromFile(“Encrypted.pdf”,“open”);
//将密码设置为空以解密PDF
pdf.Security.Encrypt(string.Empty,string.Empty,PdfPermissionsFlags.Default,PdfEncryptionKeySize.Key128Bit,“permission”);
//将文档保存到文件
pdf.SaveToFile(“Decrypt.pdf”,FileFormat.PDF);