在 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」並安裝最新版本。
取得授權步驟
初始化與設定
加入套件後,請依下列方式初始化函式庫:
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 可應用於各種情境:
- 法律文件處理 – 遮蔽客戶識別碼,同時保留案件細節。
- 金融服務 – 保護報表與報告中的個人可識別資訊 (PII)。
- 醫療紀錄管理 – 在與第三方共享前,遮蔽非必要欄位以保護患者資料。
與其他系統(如文件管理解決方案或 ERP 軟體)整合,可進一步提升這些應用。
效能考量
- 使用 GroupDocs.Search 索引,使一般工作負載的查詢延遲保持在 200 ms 以下。
- 每次操作後釋放資源(
Dispose),以降低記憶體使用,特別是處理大型 PDF(500+ 頁)時。 - 為伺服器端工作負載設定 .NET 垃圾回收器 (
GCSettings.LatencyMode = GCLatencyMode.LowLatency),以提升吞吐量。
結論
您現在已學會如何使用 GroupDocs.Search 與 GroupDocs.Redaction for .NET 在 PDF 中添加遮蔽 並有效索引檔案。依循上述步驟與最佳實踐技巧,您即可建立符合合規需求且可隨組織成長而擴充的安全、可搜尋文件儲存庫。
下一步:
探索進階遮蔽模式、嘗試自訂元資料索引,並檢視 GroupDocs API 參考文件,以深入整合的可能性。
常見問答
- 如何取得 GroupDocs.Redaction 的免費試用?
- 前往 GroupDocs 網站註冊免費試用。
- GroupDocs.Redaction 能否與其他文件格式一起使用?
- 可以,它支援多種格式,包括 PDF、Word 文件等。
- 實務上常用的遮蔽模式有哪些?
- 包括精確字串匹配與基於正規表達式的搜尋,以針對特定資料類型。
- 如何處理大量文件的索引?
- 使用批次技術或將工作負載分散至多個執行緒,以提升效率。
- 若遇到問題是否有支援?
- 有,透過 GroupDocs 論壇 提供免費支援。
常見問題
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 結合,即可即時處理新檔案。
資源
- 文件說明: GroupDocs Redaction .NET Documentation
- API 參考: GroupDocs API Reference
- 下載: Get the Latest Release
- 免費支援: Join GroupDocs Forum
- 臨時授權: Acquire a Temporary License
最後更新: 2026-07-21
測試環境: GroupDocs.Redaction 4.0、GroupDocs.Search 4.0 for .NET
作者: GroupDocs