我们经常需要在文档中隐藏机密和敏感信息。在其他文章中,我们讨论了搜索单词的不同策略,甚至在多个文档中搜索同义词。本文将指导您了解如何使用 C# 在文档中编辑 PDF 文本和图像中的文本。
下面将介绍以下主题:
用于文本和图像编辑的 .NET API
GroupDocs.Redaction 提供了 document redaction .NET API,允许在各种文件格式的文档中隐藏和删除机密信息。除了简单的文本编辑和光栅化之外,API 还允许识别图像中的文本,这些文本可能已经在任何文档中,例如最常用的扫描 PDF 文件。文档中提供了 支持的文件格式 的完整列表。
您可以从 下载部分 下载 DLLs 或 MSI 安装程序,或通过 NuGet 在您的 .NET 应用程序中安装 API。
通过包管理器控制台安装
PM> Install-Package GroupDocs.Redaction
通过 NuGet 包管理器安装
使用 C# 编辑 PDF 文本和扫描的图像文本
已经讨论了许多不同的在文档中查找和替换文本的方法。您可以在任何文档中查找特定单词、区分大小写或使用正则表达式查找。我将使用以下 PDF 文档,其中包含一些文本以及包含一些文本的图像。在这里,我们将使用 GroupDocs.Redaction for .NET 结合 OCR 和编辑过程。首先,我们将识别文档中的文本以及文档图像中的文本。其次,我们将用黑框覆盖它,以演示如何以编程方式隐藏任何法律或机密信息,即使是扫描文档图像中的文本。
以下步骤将检测和替换 PDF 文档中的文本,其中包含常规文本以及嵌入图像中的一些文本。
- 使用任何 OCR 连接器准备编辑器设置。
- 使用带有准备好的设置和任何特定加载选项的 Redactor 类加载 PDF 文档。
- 定义替换选项。我已定义将文本涂黑。
- 对于文本编辑,使用适当的文本选择策略。我用过 RegEx。
- 使用 Apply 方法应用编辑。
- 使用 Save 方法保存编辑过的文档。
以下源代码使用 C# 编辑 PDF 文档中的选定文本。
// 使用 C# 编辑 PDF 中的文本和图像中的文本,如扫描文档
var settings = new RedactorSettings(new AsposeOCRStandaloneConnector(@"LICENSE_PATH"));
using (var redactor = new Redactor(@"path/document.pdf", new LoadOptions(), settings))
{
var marker = new ReplacementOptions(Color.Black);
var redactions = new Redaction[] {
new RegexRedaction(@"(?<=Dear\s+)([^,]+)", marker), // Card Holder Name
new RegexRedaction(@"\d{2}/\d{2}", marker), // Valid Thru
new RegexRedaction(@"\d{4}", marker) // Card Number
};
var result = redactor.Apply(redactions);
if (result.Status != RedactionStatus.Failed)
{
redactor.Save(new SaveOptions(false, "OnPremise"));
}
}
上述代码的输出如下,将PDF文档的选定文本涂黑。
获取免费 API 许可证
您可以获得免费的临时许可证 使用 API,而不受评估限制。
结论
总而言之,您已经学会了编辑文档中的文本。更重要和更准确地说,我们讨论了如何使用 C# 编辑 PDF 文档中图像中的文本。我们使用正则表达式选择要编辑的文本,但是,可以使用前面讨论的许多不同方式来选择它。稍后,我们在搜索文本上使用黑色矩形框将搜索结果涂黑。
如需了解有关 API 的更多详细信息,请访问 文档。如有疑问,请通过 论坛 联系我们。