在 PDF 中添加遮蔽並使用 GroupDocs .NET 索引文件

在當今的數位世界中,在 PDF 中添加遮蔽 並保持可搜尋是任何處理敏感資料的組織必備的功能。無論您是法律專業人士、金融分析師,或是開發文件入口網站的開發者,GroupDocs.Redaction for .NET 讓您遮蔽機密資訊,並結合 GroupDocs.Search 為相同文件建立索引,以快速檢索。本教學將帶您完成完整設定、實用程式碼範例以及最佳實踐技巧,讓您在保護資料的同時不犧牲可用性。

快速解答

  • 什麼是「在 PDF 中添加遮蔽」? 這表示以程式方式移除或遮蔽 PDF 中的敏感內容,同時保留檔案結構。
  • 哪個函式庫負責文件索引? GroupDocs.Search 為超過 100 種檔案格式提供全文索引。
  • 生產環境需要授權嗎? 需要——非試用部署必須擁有商業授權。
  • 可以處理大量批次嗎? 當然可以——使用多執行緒或批次處理即可有效處理數千個檔案。
  • 支援哪些 .NET 版本? .NET Framework 4.6.1+、.NET 5/6 以及 .NET Core 3.1+。

什麼是「在 PDF 中添加遮蔽」?

遮蔽會永久移除或遮蔽所選內容,使其在之後開啟檔案時無法被復原或檢視。此操作會重新寫入 PDF 結構,將原始位元組替換為佔位符或空白區域,並可選擇更新文字層,以防止隱藏文字仍可被搜尋。此舉確保符合 GDPR、HIPAA 以及 PCI‑DSS 等法規。

為何使用 GroupDocs 進行遮蔽與索引?

GroupDocs.Redaction 支援 50+ 種檔案格式(包括 PDF、DOCX、PPTX 以及影像),且可在不將整個檔案載入記憶體的情況下遮蔽上百頁的 PDF。GroupDocs.Search 為 超過 100 種文件類型 建立索引,並在毫秒內返回結果,即使是包含數百萬檔案的儲存庫亦是如此。兩者結合為您提供安全且可搜尋的文件存儲,且具水平擴充性。

前置條件

  • Visual Studio 2022 或更新版本。
  • .NET Framework 4.6.1+ 或 .NET 5/6/7。
  • NuGet 套件:GroupDocs.Search 與 GroupDocs.Redaction。
  • 有效的 GroupDocs 授權(提供免費試用)。

設定 GroupDocs.Redaction for .NET

安裝資訊

使用 .NET CLI:

dotnet add package GroupDocs.Redaction

Package Manager Console:

Install-Package GroupDocs.Redaction

NuGet 套件管理員 UI:

  • 搜尋「GroupDocs.Redaction」並安裝最新版本。

取得授權步驟

  1. 免費試用 – 透過 GroupDocs 免費探索所有功能。
  2. 臨時授權 – 申請短期金鑰以進行測試。
  3. 購買 – 透過官方 GroupDocs 入口購買永久授權。

初始化與設定

加入套件後,請依下列方式初始化函式庫:

using GroupDocs.Redaction;
RedactorSettings settings = new RedactorSettings();
Redactor redactor = new Redactor("path/to/document", settings);

此基本設定可讓您開始對文件套用遮蔽。

實作指南

GroupDocs.Search 概觀

GroupDocs.Search 是一個提供超過 100 種文件格式全文索引與搜尋的函式庫,讓您能即時從大型儲存庫中檢索文件。

使用 GroupDocs.Search 從檔案系統建立索引

概觀
GroupDocs.Search 允許直接從檔案系統索引文件,使文件搜尋作業高效且簡單。

如何從檔案系統索引文件?

建立索引資料夾,將引擎指向來源檔案,然後執行索引程序。引擎會建構可搜尋的結構,即使是超過 100 萬檔案的集合,也能在毫秒內查詢。

步驟 1:設定索引

using (Index index = new Index(indexFolder))
{
    // Add a folder to be indexed
    index.Add(documentFilePath);
}

此處,indexFolder 為索引所在位置,documentFilePath 指向您的文件。

步驟 2:搜尋已索引的文件

SearchOptions options = new SearchOptions();
var results = index.Search("search term", options);

foreach (FoundDocument doc in results)
{
    Console.WriteLine($"Document: {doc.DocumentInfo.FilePath}");
}

Search 方法會回傳符合指定搜尋詞的文件。

使用 GroupDocs.Redaction 進行文件遮蔽

GroupDocs.Redaction 是專門的元件,讓您定義遮蔽規則(文字、影像、元資料),並套用於支援的檔案類型。

如何使用 GroupDocs 為 PDF 添加遮蔽?

載入目標 PDF,定義符合敏感字串的遮蔽規則,然後呼叫 Apply 方法。函式庫會以自訂佔位符(例如「[REDACTED]」)覆寫匹配的內容,同時保留版面配置與可搜尋的文字層。

步驟 1:載入文件以進行遮蔽

using (Redactor redactor = new Redactor("path/to/document"))
{
    // Apply redactions here
}

在套用任何遮蔽之前,必須先載入文件。

步驟 2:定義並套用遮蔽

redactor.Apply(new ExactPhraseRedaction("sensitive information", new ReplacementOptions("[REDACTED]")));
redactor.Save();

此步驟會將文件中「sensitive information」的出現替換為「[REDACTED]」。

文件遮蔽最佳實踐

  • 定義精確的模式 – 使用正規表達式針對特定資料格式(例如 SSN、信用卡號碼)。
  • 在副本上測試 – 在覆寫原始檔案前,務必先在副本上執行遮蔽以驗證結果。
  • 結合索引 – 為遮蔽後的版本建立索引,確保搜尋結果不會洩漏隱藏資料。
  • 批次處理 – 以 50–100 個檔案的平行批次方式處理,以最大化吞吐量且不耗盡記憶體。

常見問題與解決方案

  • 檔案路徑不正確 – 確認應用程式對目標目錄具有讀寫權限。
  • 框架不匹配 – 確保專案目標為 .NET 4.6.1+ 或支援的 .NET Core 版本。
  • 授權錯誤 – 再次確認授權檔案已正確放置且試用期未過期。

實務應用

GroupDocs.Redaction 可應用於各種情境:

  1. 法律文件處理 – 遮蔽客戶識別碼,同時保留案件細節。
  2. 金融服務 – 保護報表與報告中的個人可識別資訊 (PII)。
  3. 醫療紀錄管理 – 在與第三方共享前,遮蔽非必要欄位以保護患者資料。

與其他系統(如文件管理解決方案或 ERP 軟體)整合,可進一步提升這些應用。

效能考量

  • 使用 GroupDocs.Search 索引,使一般工作負載的查詢延遲保持在 200 ms 以下。
  • 每次操作後釋放資源(Dispose),以降低記憶體使用,特別是處理大型 PDF(500+ 頁)時。
  • 為伺服器端工作負載設定 .NET 垃圾回收器 (GCSettings.LatencyMode = GCLatencyMode.LowLatency),以提升吞吐量。

結論

您現在已學會如何使用 GroupDocs.Search 與 GroupDocs.Redaction for .NET 在 PDF 中添加遮蔽 並有效索引檔案。依循上述步驟與最佳實踐技巧,您即可建立符合合規需求且可隨組織成長而擴充的安全、可搜尋文件儲存庫。

下一步:
探索進階遮蔽模式、嘗試自訂元資料索引,並檢視 GroupDocs API 參考文件,以深入整合的可能性。

常見問答

  1. 如何取得 GroupDocs.Redaction 的免費試用?
  2. GroupDocs.Redaction 能否與其他文件格式一起使用?
    • 可以,它支援多種格式,包括 PDF、Word 文件等。
  3. 實務上常用的遮蔽模式有哪些?
    • 包括精確字串匹配與基於正規表達式的搜尋,以針對特定資料類型。
  4. 如何處理大量文件的索引?
    • 使用批次技術或將工作負載分散至多個執行緒,以提升效率。
  5. 若遇到問題是否有支援?

常見問題

Q: 我可以對受密碼保護的 PDF 進行遮蔽嗎?
A: 可以。使用適當的密碼參數載入文件,然後照常套用遮蔽規則。

Q: 索引會影響原始檔案大小嗎?
A: 不會。索引會儲存在 indexFolder 中,原始文件保持不變。

Q: 官方支援哪些 .NET 版本?
A: .NET Framework 4.6.1+、.NET Core 3.1+、.NET 5、.NET 6 以及之後的版本。

Q: 我如何驗證遮蔽是否成功?
A: 套用遮蔽後,使用能顯示隱藏文字層的檢視器開啟檔案;被遮蔽的內容應已被佔位符取代且不可搜尋。

Q: 是否有方法自動化處理新進檔案的遮蔽?
A: 有。將檔案監視服務與遮蔽 API 結合,即可即時處理新檔案。

資源


最後更新: 2026-07-21
測試環境: GroupDocs.Redaction 4.0、GroupDocs.Search 4.0 for .NET
作者: GroupDocs

相關教學