我們經常需要隱藏文檔中的機密和敏感信息。在其他文章中,我們討論了搜索詞的不同策略,甚至在多個文檔中搜索同義詞。本文將指導您如何使用 C# 編輯文檔中的 PDF 文本和圖像中的文本。
下面將涵蓋以下主題:
用於文本和圖像編輯的 .NET API
GroupDocs.Redaction 提供文檔編輯 .NET API,允許隱藏和刪除各種文件格式文檔中的機密信息。除了簡單的文本編輯和光柵化,API 還允許識別圖像中的文本,這些圖像可能存在於任何文檔(如最常用的掃描 PDF 文件)中。 支持的文件格式 的完整列表可在文檔中找到。
您可以從 下載部分 下載 DLL 或 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 的更多詳細信息,請訪問 文檔。如有疑問,請通過論壇 聯繫我們。