在处理 PDF 文件时,设置密码或从加密的PDF文档中移除密码的功能对于确保敏感信息的安全性,并同时保持使用 PDF 文件的灵活性和便利性至关重要。通过为 PDF 文档设置密码,个人可以控制对其文件的访问权限,防止未经授权的查看、编辑或复制。相反,解除保护 PDF 文档可以使文档重新可访问或可编辑。在本文中,您将学习如何使用 Spire.PDF for Python 来对 PDF 文档进行密码保护,以及如何从加密的 PDF 文档中移除密码。
安装 Spire.PDF for Python
本教程需要 Spire.PDF for Python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 Windows 中。
pip install Spire.PDF
如果您不确定如何安装,请参考此教程: 如何在 Windows 中安装 Spire.PDF for Python
Python 对 PDF 文档进行密码保护
有两种用于安全目的的密码类型可供选择: "打开密码" 和 "权限密码"。打开密码,也称为用户密码,用于限制未经授权访问 PDF 文件。而权限密码,也被称为主密码或所有者密码,允许您对其他人能够在 PDF 文件中执行的操作设置各种限制。如果一个 PDF 文件同时使用这两种密码进行保护,那么可以使用任意一种密码来打开该文件。
Spire.PDF for Python 提供了一个 PdfDocument.Security.Encrypt(String openPassword, String permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize) 方法,使您可以使用打开密码和/或权限密码来保护 PDF 文件。其中,PdfPermissionsFlags 参数用于指定用户对文档的操作权限。
以下是使用 Spire.PDF for Python 实现 PDF 密码保护的步骤:
- 创建一个 PdfDocument 对象。
- 使用 PdfDocument.LoadFromFile() 方法加载要加密的示例 PDF 文档。
- 使用 PdfDocument.Security.Encrypt(String openPassword, String permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize) 方法来对 PDF 文件进行加密,以设置打开密码和权限密码。
- 使用 PdfDocument.SaveToFile() 方法将结果保存为文件。
- Python
from spire.pdf import *
# 创建一个 PdfDocument 对象
doc = PdfDocument()
# 从指定路径加载示例 PDF 文件
doc.LoadFromFile("示例.pdf")
# 使用打开密码 ("openPsd")、权限密码 ("permissionPsd") 和允许打印权限对 PDF 文件进行加密
doc.Security.Encrypt("openPsd", "permissionPsd", PdfPermissionsFlags.Print, PdfEncryptionKeySize.Key128Bit)
# 将加密后的 PDF 文件保存到指定的文件路径
doc.SaveToFile("加密文档.pdf", FileFormat.PDF)
# 关闭文档
doc.Close()
Python 从加密的 PDF 文档中移除密码
要从 PDF 文件中移除密码,可以调用 PdfDocument.Security.Encrypt() 方法,并将打开密码和权限密码设为空字符串。以下是详细步骤:
- 创建一个 PdfDocument 对象。
- 使用 PdfDocument.LoadFromFile(String fileName, String password) 方法加载加密的 PDF 文档。
- 使用 PdfSecurity.Encrypt(String openPassword, String permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize, String originalPermissionPassword) 方法,通过将打开密码和权限密码设为空字符串来解密PDF文件。
- 使用 PdfDocument.SaveToFile() 方法保存结果文件。
- Python
from spire.pdf import *
# 创建一个 PdfDocument 对象
doc = PdfDocument()
# 使用 "openPsd" 打开密码加载加密的 PDF 文件
doc.LoadFromFile("加密文档.pdf", "openPsd")
# 通过将打开密码和权限密码设为空字符串
doc.Security.Encrypt(str(), str(), PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit, "permissionPsd")
# 将移除密码后的 PDF 文件保存到指定的文件路径
doc.SaveToFile("移除密码.pdf", FileFormat.PDF)
# 关闭文档
doc.Close()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。