如何为 PDF 文件加密/添加密码和权限

This article was translated from English: Does it need improvement?
Translated
View the article in English

作者:Mehr Muhammad Hamza

使用密码和特定权限保护 PDF 文件对于保护敏感文件免遭未经授权的访问和篡改至关重要。 "(《世界人权宣言》)[职位]IronSecure Doc 的 Encrypt/Add Password & Permissions API 提供了一种有效的方法,使用用户和所有者密码加密 PDF 文件,同时配置打印、表格填写、注释等权限。 该 API 可确保 PDF 得到充分保护,并对访问进行控制,是法律、财务或个人文件的理想选择。

拉动并启动 IronSecureDoc

如果您还没有运行 IronSecureDoc,请按照以下链接进行设置:

本地主办部署到云端

POST] 加密/添加密码和权限 API

"(《世界人权宣言》)[职位]Encrypt/Add Password & Permissions API 允许您使用密码加密 PDF 文档并为各种操作设置特定权限,从而为 PDF 文档添加安全层。 无论是授予读取权限、允许填写表格还是禁用打印,该 API 都能让您控制如何访问和修改 PDF 文件。

Swagger

Swagger 提供了一个用户友好型界面,可对该 API 进行交互式测试。 您可以使用它发送测试请求并接收响应,而无需编写代码,因此是开发人员的理想工具。

使用 Swagger 重制文本的步骤

  1. 访问 Swagger 用户界面:

    如果您的 API 服务器在本地运行,您可以通过在 Web 浏览器中导航到 http://localhost:8080/swagger/index.html 访问 Swagger。

    Swagger 文档

  2. 定位应用程序接口:

    查找[职位]/v1/document-services/pdfs/encrypt API,对应 Encrypt/Add Password & Permissions。

    编辑文本

  3. 输入参数:

    提供 API 所需的参数。 您可以上传 PDF 样本文件,并指定所需的权限。

  4. 上传 PDF 文件:

    在请求正文中,上传 PDF 文件作为 pdf_file,并定义必要的权限,如允许或限制打印、表格填写和内容提取。

  5. 执行请求:

    设置好所有参数后,点击 "执行 "发送请求。响应将返回指定安全设置的加密 PDF。

  6. 检查输出 PDF:

    输入 "密码 "查看 PDF 内容。


理解输入参数

API 需要特定的参数来加密 PDF 和分配权限。 以下是必填参数和可选参数的细目:

所需参数

名字数据类型说明
pdf_file应用程序/pdf您要加密的 PDF 文件。
允许提取内容布尔说明是否允许提取内容。
允许填写表单布尔说明是否允许填写表格。
允许注释布尔说明是否允许使用注释。
允许打印布尔请注明是否允许打印。
允许修改布尔请注明是否允许修改。
new_owner_password字符串PDF 的新所有者密码,授予完全访问权和更改权限的能力。

可选参数

名字数据类型说明
用户密码字符串当前用户密码,如果 PDF 有授予读取权限的用户密码,则需要此密码。
owner_password字符串当前的所有者密码,如果 PDF 有所有者密码,则需要此密码才能完全访问。
new_user_password新用户密码用于读取访问。
save_as_pdfa布尔将 PDF 保存为符合 PDF/A-3 标准的格式。
保存为PDF/UA布尔将 PDF 保存为符合 PDF/UA 标准的格式。
作者字符串设置 PDF 元数据作者属性。
标题字符串设置 PDF 元数据标题属性。
主题字符串设置 PDF 元数据主题属性。

API 集成:Python 示例

一旦熟悉了输入参数,您就可以使用 Python 或任何其他首选语言调用 API。 下面是一个如何使用 Python 集成此 API 的示例。

import requests

url = 'http://localhost:8080/v1/document-services/pdfs/encrypt'
headers = {
    'accept': '*/*',
    'author': 'IronSoftware',
    'title': 'ENCRYPTION DEMO 2024',
    'subject': 'DEMO EXAMPLE'
}

files = {
    'pdf_file': ('sample.pdf', open('sample.pdf', 'rb'), 'application/pdf')
}

data = {
    'allow_extracting_content': 'true',
    'allow_form_filling': 'true',
    'allow_annotations': 'false',
    'allow_printing': 'false',
    'allow_modifications': 'true',
    'new_owner_password': 'password',
    'new_user_password': 'password',
    'save_as_pdfa': 'false',
    'save_as_pdfua': 'false'
}

response = requests.post(url, headers=headers, files=files, data=data)

# Save the encrypted PDF
with open('sample.pdf', 'wb') as f:
    f.write(response.content)

print('PDF encrypted successfully.')
PYTHON

解释步骤:

  • 加载 PDF:从本地文件系统加载要加密的 PDF 文件。
  • 设置加密参数:定义权限,如允许打印、填写表格和提取内容,以及设置新密码。
  • 调用 API:的[职位]调用加密/添加密码和权限 API,并传递必要的参数。
  • 保存结果:加密后的 PDF 将保存为新文件。

    PDF 文件已加密,如下所示。 输入 "密码 "查看 PDF 内容。