如何使用 IronSecureDoc 在 C# PDF 中编辑文本

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

本文将讨论如何使用 IronSecureDoc 对 PDF 中的文本进行编辑。 这样,服务或流程就可以通过向正在运行的 IronSecureDoc 服务器发出包含 PDF 的简单 POST 请求,快速轻松地编辑敏感信息。 我们将通过使用 Swagger 文档来直观地展示这一点。 POST 请求可以接受必需参数和可选参数,并且具有高度可定制性; 响应返回包含已编辑文本的 PDF 文件。

拉取并启动 IronSecureDoc

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

本地托管部署到云端

[POST] 编辑文本 API

[POST] 编辑文本 API 端点允许您使用编辑功能隐藏 PDF 文档中的敏感文本。 对于处理机密文件(例如法律合同、医疗记录或财务报告)的应用程序而言,此功能至关重要。 使用此 API 可确保永久删除特定文本,从而提高安全性并确保符合数据保护标准。

一旦文本被编辑,其内容将无法恢复。

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-text 端点。

已编辑文本

3.指定配置:

在这个例子中,我同时提供了PDF文件和需要在POST请求中隐藏的文字。我们将隐藏单词"we",并在其上方叠加一个黑框。 在本演示中,我们将使用具有以下配置的" sample.pdf "文件:

  • draw_black_box: true
  • match_whole_word: true
  • words_too_redact: 我们

4.上传示例 PDF 文件:

在请求正文中,上传一个需要进行编辑的示例 PDF 文件。 Ensure that the file is added as <代码>PDF 文件</代码.

5.执行请求:

点击"执行"按钮运行请求。响应结果将包含已编辑的 PDF 文件。 Swagger UI 交互功能让您可以轻松测试编辑过程,并提供即时反馈。


通过命令提示符使用 CURL 请求

或者,我们可以使用命令行和 curl POST 请求来实现同样的结果。

curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' \
 -H 'accept: */*' \
 -H 'Content-Type: multipart/form-data' \
 -F 'pdf_file=@sample.pdf;type=应用程序/pdf' \
 -F 'words_to_redact="we"' \
 -F 'draw_black_box=true' \
 -F 'match_whole_word=true'
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' \
 -H 'accept: */*' \
 -H 'Content-Type: multipart/form-data' \
 -F 'pdf_file=@sample.pdf;type=应用程序/pdf' \
 -F 'words_to_redact="we"' \
 -F 'draw_black_box=true' \
 -F 'match_whole_word=true'
SHELL

[{i:( 默认情况下,PowerShell 可能会将curl解释为Invoke-WebRequest的别名,Invoke-WebRequest 是 PowerShell 内置 cmdlet。 尝试使用curl.exe而不是curl

curl.exe --version
curl.exe --version
SHELL

@@--bracket-close--@@@

所需请求正文参数

名称数据类型说明
<代码>PDF 文件应用程序/pdf您要编辑的PDF文件。
<代码>words_to_redact数组[字符串]此参数接受一个单词列表,并删除与输入匹配的文本。

可选的请求体参数

名称数据类型说明
<代码>用户密码字符串如果输入的 PDF 文件设置了用户密码,则必须输入密码。如果未为受密码保护的 PDF 文件提供密码,操作将失败。
<代码>所有者密码字符串如果输入的 PDF 文件设置了所有者密码,则必须执行此操作。如果未为受密码保护的 PDF 文件提供密码,则操作将失败。
<代码>特定页面数组[int]允许您指定要隐藏哪些页面上的文本。默认情况下,该值为空,表示所有页面中的指定词语都将被隐藏。
<代码>draw_black_box布尔值允许您指定是否在已编辑的文本上绘制黑框。默认情况下,此值设置为 True。
<代码>match_whole_word布尔值指定是否也应删除单词中的部分匹配项。例如,如果提供的单词是"are",则任何包含"are"的单词(例如"hare")中的"are"也会被删除。默认情况下,此设置设为 True。
<代码>match_case布尔值指定提供的单词是否需要完全匹配(区分大小写)。默认值为 null。注意:设置为 True 表示将不匹配大小写字符串。例如,如果提供的单词是"WE",则不会删除小写形式的"we"。
<代码>overlay_text字符串它指定覆盖在已编辑文本上的文字,例如单词或符号。默认情况下,此字符串为空。
<代码>save_as_pdfa布尔值保存符合 PDF/A-3 标准的修改后 PDF 文件。默认情况下,此选项设置为"否"。
<代码>save_as_pdfua布尔值保存符合 PDF/UA 规范的修改后 PDF 文件。默认情况下,此项设置为"否"。

可选的头部参数

名称数据类型说明
<代码>作者字符串用于识别您是 PDF 文档的作者。默认情况下,此字段为空。
<代码>标题字符串显示PDF文档的标题。默认情况下,此字段为空。
<代码>主题字符串便于快速识别 PDF 文档的内容。默认情况下,此字段为空。

常见问题解答

如何使用 POST 请求在 PDF 中编辑文本?

您可以通过向 IronSecureDoc 服务器发送包含 PDF 文件和要编辑的单词的 POST 请求来编辑 PDF 中的文本。服务器处理请求并返回带有编辑文本的 PDF。

使用 IronSecureDoc API 编辑 PDF 的步骤是什么?

要使用 IronSecureDoc API 编辑 PDF,您应首先拉取并启动 IronSecureDoc Docker 映像,使用 Swagger 测试 API,指定要编辑的文本,执行 API 调用,最后导出编辑后的 PDF 文档。

如何在投入使用前测试 IronSecureDoc API?

您可以通过访问 Swagger UI 使用 Swagger 测试 IronSecureDoc API,这允许您使用提供的端点模拟编辑过程。

在 PDF 编辑请求中可以自定义哪些参数?

在 PDF 编辑请求中,您可以自定义参数,如 user_password, owner_password, specific_pages, draw_black_box, match_whole_word, match_case, overlay_text, save_as_pdfa, 和 save_as_pdfua 以进行进一步自定义。

如何使用 curl 执行 PDF 编辑请求?

要使用 curl 执行 PDF 编辑请求,您可以使用 curl POST 请求命令,在命令提示符中指定必要的参数和文件路径。

如果我的 PDF 在编辑过程中受密码保护,我该怎么办?

如果您的 PDF 是受密码保护的,您需要在可选参数中包含 user_password 或 owner_password,以确保编辑过程可以访问并修改文档。

'draw_black_box' 参数在文本编辑中有什么作用?

'draw_black_box' 参数指定是否用黑色框覆盖编辑的文本。此选项对于可视化编辑区域很有用,并且默认情况下已启用。

如何本地托管 IronSecureDoc 用于编辑目的?

您可以通过遵循针对 Windows、Mac 或 Linux 等各种操作系统提供的教程,在本地托管 IronSecureDoc,从而允许您在本地服务器上管理编辑过程。

是否可以在 PDF 中编辑特定页面?

可以,您可以通过使用 'specific_pages' 参数指定要编辑的页面,从而将编辑目标定位于文档的特定区域。

我可以在 PDF 的编辑区域上覆盖文本吗?

可以,您可以通过使用 'overlay_text' 参数在编辑区域上覆盖文本,允许您用自定义消息或占位符替换编辑的文本。

IronSecureDoc 与 .NET 10 及其客户端库兼容吗?

是的,IronSecureDoc 通过 NuGet 包 Iron Software.SecureDoc.Client 提供了一个 .NET 客户端,它除了兼容 .NET 6-9 等早期版本外,还兼容 .NET 10。这确保您可以将编辑功能和相关 API 无缝集成到 .NET 10 应用程序中。

Curtis Chau
技术作家

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

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

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