如何使用 C# 编辑 PDF 文件中的区域

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

对PDF文档中的敏感信息进行编辑对于确保隐私和遵守数据保护法规至关重要。 IronSecure Doc 的 [POST] 编辑区域 API 提供了一种有效的方式,可以使用真正的编辑功能隐藏 PDF 文档特定区域中的敏感文本和信息。 该 API 可确保已编辑的数据被完全删除且无法恢复,因此非常适合处理法律、财务或个人文件中的机密信息。

拉取并启动 IronSecureDoc

如果您尚未运行 IronSecureDoc,请点击以下链接进行安装:

本地托管 部署到云端

[POST] 编辑区域 API

[POST] 编辑区域 API 端点允许您使用真正的编辑功能隐藏 PDF 文档特定区域中的敏感信息。 对于管理机密文档(例如法律合同、医疗记录或财务报表)的应用程序而言,此功能至关重要。 通过利用此 API,您可以确保永久删除 PDF 指定区域内的敏感文本,从而兼顾安全性和合规性。

一旦某个区域被编辑,该区域内的内容将无法恢复。

在 Swagger 中尝试一下

Swagger 是一款强大的工具,它使开发人员能够通过用户友好的 Web 界面与 RESTful API 进行交互。 无论你使用 Python、Java 或其他语言,Swagger 都提供了一种便捷的方式来测试和实现此 API。

使用 Swagger 编辑区域的步骤

1.访问 Swagger 用户界面:

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

Swagger 文档

2.找到 [POST] 编辑区域 API:

在 Swagger UI 中,找到 [POST] /v1/document-services/pdfs/redact-region 端点。

编辑区域

3.指定编辑坐标:

在这个例子中,我们将从 PDF 的页面索引 1(即第 2 页)中删除一个表格。 使用以下坐标定义编辑区域:

  • 页面索引(specific_pages):1
  • X 坐标(region_to_redact_x):60
  • Y坐标(region_to_redact_y):270
  • 宽度(region_to_redact_w):470
  • 高度(region_to_redact_h):200

4.设置可选参数:

您还可以选择添加用户或所有者密码、指定特定页面,或者决定是否在编辑区域上绘制黑框并以 PDF/A 或 PDF/UA 合规性保存文档。

输入 Swagger

5.上传示例 PDF 文件:

在请求正文中,上传一个需要进行编辑的示例 PDF 文件。 确保将文件添加为pdf_file

6.执行请求:

点击"执行"按钮运行请求。响应将包含已编辑的 PDF 文件,其中表格已按指定方式从第 1 页索引处移除。

Response

Swagger UI 交互功能让您可以轻松测试编辑过程,并立即提供有关坐标如何影响 PDF 内容的反馈。

7.检查输出的PDF文件:

被涂黑的部分将在第2页。


了解输入参数

使用此 API 之前,必须了解编辑 PDF 中的某个区域所需的输入参数和可选参数。 这些参数有助于确定需要编辑的具体区域。

关键参数

  • pdf_file:要编辑的 PDF 文档。
  • region_to_redact_x:要编辑的区域的 X 坐标(从页面左下角开始)。
  • region_to_redact_y:要编辑的区域的 Y 坐标(从页面左下角开始)。
  • region_to_redact_w:要编辑的区域的宽度。
  • region_to_redact_h:要编辑的区域的高度。

可选参数

  • user_password:如果 PDF 文件受密码保护,请提供用户密码。
  • owner_password:如果修改受到限制,请提供所有者密码。
  • specific_pages:指定要编辑的页面。 如未提供相关信息,则所有页面均适用此删减规定。
  • save_as_pdfa:以符合 PDF/A-3 标准的方式保存 PDF。
  • save_as_pdfua:保存符合 PDF/UA 规范的 PDF 文件。

API 集成:Python 示例

熟悉参数后,您可以使用您喜欢的编程语言调用此 API。 下面是一个使用 Python 集成此 API 的示例。

import requests

# Define the API endpoint URL
url = 'http://localhost:8080/v1/document-services/pdfs/redact-region'

# Set the headers for the request (optional relevant metadata)
headers = {
    'accept': '*/*',
    'author': 'Iron Software',
    'title': 'REDACT REGION DEMO 2024',
    'subject': 'DEMO EXAMPLE'
}

# Open the PDF file to be redacted in binary read mode
files = {
    'pdf_file': ('sample_file.pdf', open('sample_file.pdf', 'rb'), 'application/pdf')
}

# Define the coordinates and page for the redaction region
data = {
    'region_to_redact_x': '60',  # X-coordinate starting at the bottom-left
    'region_to_redact_y': '270', # Y-coordinate starting at the bottom-left
    'region_to_redact_w': '470', # Width of the region to be redacted
    'region_to_redact_h': '200', # Height of the region to be redacted
    'specific_pages': [1]        # Specify the page index to redact
}

# Make the POST request to the API with the provided parameters and file
response = requests.post(url, headers=headers, files=files, data=data)

# Save the redacted PDF response to a new file
with open('redacted_output.pdf', 'wb') as f:
    f.write(response.content)

print('PDF redacted successfully.')
import requests

# Define the API endpoint URL
url = 'http://localhost:8080/v1/document-services/pdfs/redact-region'

# Set the headers for the request (optional relevant metadata)
headers = {
    'accept': '*/*',
    'author': 'Iron Software',
    'title': 'REDACT REGION DEMO 2024',
    'subject': 'DEMO EXAMPLE'
}

# Open the PDF file to be redacted in binary read mode
files = {
    'pdf_file': ('sample_file.pdf', open('sample_file.pdf', 'rb'), 'application/pdf')
}

# Define the coordinates and page for the redaction region
data = {
    'region_to_redact_x': '60',  # X-coordinate starting at the bottom-left
    'region_to_redact_y': '270', # Y-coordinate starting at the bottom-left
    'region_to_redact_w': '470', # Width of the region to be redacted
    'region_to_redact_h': '200', # Height of the region to be redacted
    'specific_pages': [1]        # Specify the page index to redact
}

# Make the POST request to the API with the provided parameters and file
response = requests.post(url, headers=headers, files=files, data=data)

# Save the redacted PDF response to a new file
with open('redacted_output.pdf', 'wb') as f:
    f.write(response.content)

print('PDF redacted successfully.')
PYTHON

这段代码执行以下步骤:

-加载 PDF:从本地文件系统加载要编辑的 PDF 文件。 -设置编辑参数:指定要编辑的坐标(X,Y)、宽度、高度和特定页面。 -调用 API:调用 [POST] 编辑区域 API,并传入必要的参数。 -保存结果:将编辑后的 PDF 文件保存为一个新文件。

如下所示,给定区域已被隐去。

已编辑的输出

常见问题解答

我如何在 PDF 文件中编辑特定区域?

您可以使用 IronSecureDoc 的 [POST] Redact Region API 在 PDF 文件中编辑特定区域。通过提供坐标和编辑区域的尺寸,API 确保敏感信息被永久删除。

设置用于编辑的 IronSecureDoc API 涉及哪些步骤?

要设置用于编辑的 IronSecureDoc API,您需要拉取并启动 Docker 镜像,使用 Swagger 配置 API,指定编辑参数,并执行 API 调用以编辑 PDF 文档中的区域。

IronSecureDoc 可以在云平台上使用吗?

可以,IronSecureDoc 可以部署在 Azure 和 AWS 等云平台上,提供可扩展和灵活的编辑解决方案。

我如何使用 IronSecureDoc 指定 PDF 的编辑区域?

要使用 IronSecureDoc 指定编辑区域,您需要提供 X 和 Y 坐标以及要编辑区域的宽度和高度。这些参数定义 PDF 页面的确切区域。

是否有方法在全面实施前测试编辑过程?

是的,您可以通过运行 IronSecureDoc API 服务器并使用 Swagger 与 API 交互来在本地测试编辑过程。这使您可以试验编辑参数并在全面实施前验证输出。

可以使用哪些编程语言与 IronSecureDoc API 集成?

IronSecureDoc API 可以与任何能够发出 HTTP 请求的编程语言集成,例如 Python、Java、C# 等。

PDF 中的真正编辑是什么,为什么重要?

PDF 中的真正编辑确保敏感数据不仅被隐藏而且被彻底从文档中移除。这对于维护机密性和遵守数据保护法规至关重要。

IronSecureDoc 支持 PDF 合规标准吗?

是的,使用 IronSecureDoc 保存编辑后的 PDF 时,您可以选择符合 PDF/A-3 或 PDF/UA 等标准,以满足特定文档要求。

IronSecureDoc 能够处理需要密码保护的 PDF 吗?

是的,IronSecureDoc 能够通过在编辑过程中提供所需的用户和所有者密码作为可选参数来处理需要密码保护的 PDF。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

准备开始了吗?
Version: 2024.10 刚刚发布