如何为 PDF 文件加密/添加密码和权限
使用密码和特定权限保护 PDF 文件对于保护敏感文件免遭未经授权的访问和篡改至关重要。 "(《世界人权宣言》)[职位]IronSecure Doc 的 Encrypt/Add Password & Permissions API 提供了一种有效的方法,使用用户和所有者密码加密 PDF 文件,同时配置打印、表格填写、注释等权限。 该 API 可确保 PDF 得到充分保护,并对访问进行控制,是法律、财务或个人文件的理想选择。
如何为 PDF 文件加密/添加密码和权限
- 拉取并启动 IronSecureDoc Docker Image
- 使用 Swagger 测试应用程序接口
- 指定密码和权限参数
- 执行 API 调用以应用更改
- 导出加密的 PDF 文档
拉动并启动 IronSecureDoc
如果您还没有运行 IronSecureDoc,请按照以下链接进行设置:
本地主办 | 部署到云端 |
---|---|
POST] 加密/添加密码和权限 API
"(《世界人权宣言》)[职位]Encrypt/Add Password & Permissions API 允许您使用密码加密 PDF 文档并为各种操作设置特定权限,从而为 PDF 文档添加安全层。 无论是授予读取权限、允许填写表格还是禁用打印,该 API 都能让您控制如何访问和修改 PDF 文件。
Swagger
Swagger 提供了一个用户友好型界面,可对该 API 进行交互式测试。 您可以使用它发送测试请求并接收响应,而无需编写代码,因此是开发人员的理想工具。
使用 Swagger 重制文本的步骤
访问 Swagger 用户界面:
如果您的 API 服务器在本地运行,您可以通过在 Web 浏览器中导航到 http://localhost:8080/swagger/index.html 访问 Swagger。
定位应用程序接口:
查找[职位]/v1/document-services/pdfs/encrypt API,对应 Encrypt/Add Password & Permissions。
输入参数:
提供 API 所需的参数。 您可以上传 PDF 样本文件,并指定所需的权限。
上传 PDF 文件:
在请求正文中,上传 PDF 文件作为 pdf_file,并定义必要的权限,如允许或限制打印、表格填写和内容提取。
执行请求:
设置好所有参数后,点击 "执行 "发送请求。响应将返回指定安全设置的加密 PDF。
检查输出 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.')
解释步骤:
- 加载 PDF:从本地文件系统加载要加密的 PDF 文件。
- 设置加密参数:定义权限,如允许打印、填写表格和提取内容,以及设置新密码。
- 调用 API:的[职位]调用加密/添加密码和权限 API,并传递必要的参数。
保存结果:加密后的 PDF 将保存为新文件。
PDF 文件已加密,如下所示。 输入 "密码 "查看 PDF 内容。