我们经常需要在文档中隐藏机密和敏感信息。在其他文章中,我们讨论了搜索单词的不同策略,甚至在多个文档中搜索同义词。本文将指导您了解如何使用 C# 在文档中编辑 PDF 文本和图像中的文本。

下面将介绍以下主题:

用于文本和图像编辑的 .NET API

GroupDocs.Redaction 提供了 document redaction .NET API,允许在各种文件格式的文档中隐藏和删除机密信息。除了简单的文本编辑和光栅化之外,API 还允许识别图像中的文本,这些文本可能已经在任何文档中,例如最常用的扫描 PDF 文件。文档中提供了 支持的文件格式 的完整列表。

您可以从 下载部分 下载 DLLsMSI 安装程序,或通过 NuGet 在您的 .NET 应用程序中安装 API。

通过包管理器控制台安装

PM> Install-Package GroupDocs.Redaction

通过 NuGet 包管理器安装

GroupDocs.Redaction - NuGet 包 - 安装

使用 C# 编辑 PDF 文本和扫描的图像文本

已经讨论了许多不同的在文档中查找和替换文本的方法。您可以在任何文档中查找特定单词、区分大小写或使用正则表达式查找。我将使用以下 PDF 文档,其中包含一些文本以及包含一些文本的图像。在这里,我们将使用 GroupDocs.Redaction for .NET 结合 OCR 和编辑过程。首先,我们将识别文档中的文本以及文档图像中的文本。其次,我们将用黑框覆盖它,以演示如何以编程方式隐藏任何法律或机密信息,即使是扫描文档图像中的文本。

带有文本和扫描图像的 PDF

以下步骤将检测和替换 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文档的选定文本涂黑。

编辑 PDF 文本和扫描的图像文本

获取免费 API 许可证

您可以获得免费的临时许可证 使用 API,而不受评估限制。

结论

总而言之,您已经学会了编辑文档中的文本。更重要和更准确地说,我们讨论了如何使用 C# 编辑 PDF 文档中图像中的文本。我们使用正则表达式选择要编辑的文本,但是,可以使用前面讨论的许多不同方式来选择它。稍后,我们在搜索文本上使用黑色矩形框将搜索结果涂黑。

如需了解有关 API 的更多详细信息,请访问 文档。如有疑问,请通过 论坛 联系我们。

也可以看看