PDF 文件广泛用于存储和共享敏感信息,从财务报表到法律文件。但是,这些文件可能容易受到未经授权的访问和编辑,这就是为什么加密和密码保护 PDF 对维护其安全至关重要。在这篇博文中,我们将探索如何使用基于 Python 的 REST API 来加密和密码保护 PDF 文件。按照本指南中概述的分步说明,您将能够为您的 PDF 文件添加额外的安全层,并确保它们免受窥探。因此,无论您是需要保护机密商业文档还是个人文件,请继续阅读以了解如何轻松加密、保护和保护您的 PDF 文件。
用于保护 PDF 的 REST API
Aspose.PDF Cloud SDK for Python 是一款功能强大的工具,可让您轻松地为 PDF 文件添加密码保护。只需几行代码,您就可以加密您的 PDF 文件并限制对授权个人的访问。 SDK提供多种加密算法可供选择,包括40位RC4、128位RC4、128位AES、256位AES。
现在,为了开始使用 Python SDK,第一步是安装它。它可以通过 PIP 和 GitHub 存储库下载。所以请在终端/命令提示符下执行以下命令,在系统上安装最新版本的SDK。
pip install asposepdfcloud
客户凭证
安装后,下一个主要步骤是在 Aspose.Cloud dashboard 上免费订阅我们的云服务。只需单击 创建新帐户 按钮并提供所需信息,即可使用 GitHub 或 Google 帐户进行注册。然后使用新订阅的帐户登录并获取您的客户凭证。
使用 Python 加密 PDF
API 允许您设置两种类型的密码,即文档打开密码(用户密码)和权限密码(所有者密码)。
文档打开密码
文档打开密码(也称为用户密码)需要用户键入密码才能打开 PDF。
权限密码
更改权限设置需要权限密码(也称为主/所有者密码)。使用权限密码,您可以限制打印、编辑和复制 PDF 中的内容。需要此密码才能更改您已经应用的限制。
如果 PDF 使用两种类型的密码进行保护,则可以使用任何一种密码打开它。
另外请注意,API 接受 Base64 编码格式的所有者和用户密码。在以下代码片段中,指定了所有者密码 (b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm) 和用户密码 (dXNlciAkXlBhc3N3b3JkISY=)。请按照以下步骤使用 Python 代码片段加密 PDF 文件。
- 创建 ApiClient 类的实例,同时提供客户端 ID 和客户端密码作为参数
- 其次,创建一个 PdfApi 类的实例,它将 ApiClient 对象作为输入参数
- 现在调用 PdfApi 类的 postencryptdocumentinstorage(..) 方法,同时传递输入 PDF 文件的名称、用户和所有者密码(采用 Base64 编码)和加密算法作为参数。
就是这样!仅用几行代码,我们就了解了使用 Aspose.PDF Cloud SDK for Python 对 PDF 文件进行密码保护的步骤。
def encrypt():
try:
#Client credentials
client_secret = "d34641f4ff6bcc96e3a0ab6ac69768b2"
client_id = "8e2b082f-1f74-4bc0-b454-5f68457d1c97"
#initialize PdfApi client instance using client credetials
pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)
# 在将 PdfApiClient 作为参数传递时创建 PdfApi 实例
pdf_api = PdfApi(pdf_api_client)
#input PDF file name
input_file = 'image-based-pdf-sample.pdf'
# 调用API加密文档
response = pdf_api.post_encrypt_document_in_storage(name=input_file,user_password='dXNlciAkXlBhc3N3b3JkISY=',owner_password='b3duZXJcLy8/ICQxMl5QYXNzd29yZCEm',crypto_algorithm='AESX128')
# 在控制台打印成功消息(可选)
print('PDF encrypted successfully !')
except ApiException as e:
print("Exception while calling PdfApi: {0}".format(e))
print("Code:" + str(e.code))
print("Message:" + e.message)
请注意,您可以在 PDF 加密过程中使用任一加密算法值
名称 | 说明 |
---|---|
RC4x40 | 密钥长度为 40 的 RC4。 |
RC4x128 | 密钥长度为 128 的 RC4。 |
AESx128 | 密钥长度为 128 的 AES。 |
AESx256 | 密钥长度为 256 的 AES。 |
上例中使用的输入 PDF 文件可以从 awesomeTable.pdf 下载。
使用 cURL 命令加密 PDF
还可以在任何平台上通过 cURL 命令访问 REST API。我们可以使用命令提示符/终端窗口来执行 cURL 命令。由于Aspose.PDF Cloud也是按照REST架构开发的,所以我们也可以使用cURL命令对PDF文件进行加密。但在进一步进行之前,我们需要根据您在 Aspose.Cloud 仪表板上指定的个人客户端凭据生成一个 JSON Web 令牌 (JWT)。这是强制性的,因为我们的 API 仅供注册用户访问。请执行以下命令生成 JWT 令牌。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bbf94a2c-6d7e-4020-b4d2-b9809741374e&client_secret=1c9379bb7d701c26cc87e741a29987bb" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
现在,一旦我们有了 JWT 令牌,我们需要执行以下命令来加密 PDF 文档。
curl -v -X POST "https://api.aspose.cloud/v3.0/pdf/awesomeTable.pdf/encrypt?userPassword=dXNlciAkXlBhc3N3b3JkISY%3D&ownerPassword=b3duZXJcLy8%2FICQxMl5QYXNzd29yZCEm&cryptoAlgorithm=AESx128&permissionsFlags=AssembleDocument&usePdf20=false" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
结论
总之,使用 REST API 加密 PDF 文件是确保重要文档安全和隐私的快速有效方法。无论您是需要锁定 PDF 以防止编辑还是添加密码保护,这些方法都提供了一种既方便又安全的便捷解决方案。按照这篇博文中概述的步骤,您可以轻松保护 PDF 文件,并确保您的宝贵信息受到保护。
请注意,我们的云 SDK 是根据 MIT 许可证构建的,因此您可以从 GitHub 下载完整的代码片段。此外,我们强烈建议浏览 开发人员指南 以了解有关 API 其他令人兴奋的功能的更多信息。
最后,如果您在使用 API 时遇到任何问题或有任何相关疑问,请随时通过免费客户支持论坛与我们联系。
相关文章
我们还建议您阅读以下文章以了解更多信息