使用 GroupDocs.Redaction .NET 对敏感信息进行编辑 – 查找器管理与高亮
在文档中管理和高亮文本可能具有挑战性,尤其是处理敏感信息时。在本指南中,您将通过利用 GroupDocs.Redaction .NET 强大的查找器管理和高亮功能,编辑敏感信息。
我们将逐步讲解您需要了解的全部内容——从设置 SDK、添加、删除和刷新查找器,到高亮已找到的单词,使其在审阅时突出显示。
快速答案
- “编辑敏感信息”是什么意思? 删除或遮蔽文档中的机密数据(例如,社会安全号码、姓名),以便安全共享。
- 哪个库可以帮助自动化文档审阅? GroupDocs.Redaction .NET 提供内置的查找器,可自动定位并遮蔽数据。
- 我需要许可证吗? 是的,需要开发或生产许可证;可提供试用密钥用于评估。
- 在编辑时我可以高亮文档中的文本吗? 当然——高亮已找到的单词可让审阅者验证将被编辑的内容。
- 支持哪些 .NET 版本? 完全支持 .NET Framework 4.6+ 和 .NET Core/5/6+。
什么是“编辑敏感信息”?
编辑敏感信息是指以编程方式定位文件中的机密数据,并将其删除或应用可视化遮蔽,使数据无法被读取。此过程对于合规、隐私和安全的文档共享至关重要。
为什么使用 GroupDocs.Redaction 自动化文档审阅?
自动化文档审阅可节省大量手工时间,降低人为错误,并确保在大规模文档集合中实现一致的合规性。通过使用查找器,您可以扫描信用卡号、日期或自定义术语等模式,然后一次性应用编辑或高亮。
前提条件
- 已安装 .NET Framework 4.6+ 或 .NET Core/5/6。
- 用于开发的 Visual Studio(任意近期版本)。
- 基础的 C# 知识以及面向对象概念的熟悉度。
设置 GroupDocs.Redaction for .NET
使用以下任一命令将库添加到项目中:
dotnet add package GroupDocs.Redaction
Install-Package GroupDocs.Redaction
您也可以在 NuGet 包管理器 UI 中搜索 GroupDocs.Redaction 并安装最新的稳定版本。
获取许可证,请访问 GroupDocs Redaction Purchase 并在下载后按照激活步骤进行操作。
以下是初始化编辑器的最小示例:
using GroupDocs.Redaction;
// Basic initialization of the redactor with a document path
RedactorSettings settings = new RedactorSettings();
Redactor redactor = new Redactor("your-document-path", settings);
实施指南
下面我们将实现分解为逻辑章节,直接对应您将用于 编辑敏感信息 和 在文档中高亮文本 的核心功能。
字符查找器管理
管理字符查找器可让您在运行时控制搜索哪些模式。
添加新查找器
public void Add(IFinder finder)
{
// Adds a new finder to the list of active finders.
finders.Add(finder);
}
Purpose: 注册一个 IFinder 实现,以便编辑器能够定位特定字符或字符串。
删除查找器
public void Remove(IFinder finder)
{
// Mark a finder for removal.
toRemove.Add(finder);
}
Purpose: 延迟删除,直至安全修改集合,以防止枚举错误。
短语和术语初始化
短语和术语查找器让您搜索多词表达式或单个关键字。
初始化术语和短语
public SuperFinder(string[] terms, string[][] phrases)
{
// Initialize term finders and add them to the list.
if (terms != null)
{
foreach (var term in terms)
{
var finder = new SeparateWordFinder(this, term);
finders.Add(finder);
}
}
// Initialize phrase finders and add them to the list.
if (phrases != null)
{
foreach (var phrase in phrases)
{
var finder = new PhraseFirstWordFinder(this, phrase);
finders.Add(finder);
}
}
}
Purpose: 为编辑器填充简单的术语查找器和更复杂的短语查找器,提供强大的搜索能力。
查找器刷新
刷新确保每个查找器从头开始,这在添加或删除查找器后至关重要。
public void Flush()
{
// Reset each finder's state.
foreach (var finder in finders)
{
finder.Flush();
}
}
Purpose: 清除缓存状态,以便后续搜索准确。
已找到单词管理
高效处理已找到的单词可提升性能,尤其在大型文档中。
添加已找到的单词
public LinkedListNode<FoundWord> AddFoundWord(FoundWord foundWord)
{
// Add a found word to the list.
var node = foundWords.AddFirst(foundWord);
return node;
}
Purpose: 在链表头部插入新的 FoundWord,实现 O(1) 插入。
删除已找到的单词
public void RemoveFoundWords(List<LinkedListNode<FoundWord>> words)
{
// Remove specified words from the list.
foreach (var node in words)
{
foundWords.Remove(node);
}
}
Purpose: 批量删除单词,降低迭代开销。
高亮已找到的单词
高亮帮助审阅者快速识别将被编辑的内容。
public void HighlightFoundWords()
{
// Iterate through each found word and highlight it.
while (foundWords.Count > 0)
{
var foundWord = foundWords.First.Value;
foundWords.RemoveFirst();
foundWord.Highlight();
}
}
Purpose: 为每个 FoundWord 应用可视化高亮,然后将其从处理队列中移除。
实际应用
- 敏感信息编辑 – 自动隐藏法律合同中的个人数据,如姓名、身份证号或信用卡号。
- 自动化文档审阅 – 高亮关键条款或术语,使审阅者能够专注于高影响部分。
- 内容管理系统 – 在发布工作流中动态管理并高亮内容更改。
性能考虑
- 最小化查找器变动:仅添加所需的查找器;不必要的添加/删除循环会增加开销。
- 明智使用
LinkedList:它提供 O(1) 插入/删除,非常适合大型结果集。 - 定期调用
Flush():在长时间运行的批处理作业中保持内存使用可预测。
结论
通过本指南,您现在了解如何使用 GroupDocs.Redaction .NET 编辑敏感信息 和 在文档中高亮文本。一步步的方法——设置查找器、管理其生命周期以及应用高亮——为构建安全、自动化的文档处理流水线提供了坚实基础。
常见问题
问:如何安装 GroupDocs.Redaction?
使用 .NET CLI (dotnet add package GroupDocs.Redaction) 或包管理器控制台 (Install-Package GroupDocs.Redaction)。
问:刷新查找器的目的是什么?
刷新会重置内部状态,确保后续搜索从干净的状态开始并返回准确的结果。
问:我可以在 .NET Core 中使用 GroupDocs.Redaction 吗?
可以,库同时支持 .NET Framework 和 .NET Core(包括 .NET 5/6)。
问:如何高效管理多个已找到的单词?
将它们存储在 LinkedList 中,并使用批量删除方法保持操作快速且节省内存。
问:常见的实际使用案例有哪些?
用于合规的自动化编辑、与 CMS 平台集成实现动态高亮,以及加速法律文档审阅。
资源
最后更新: 2026-04-27
测试版本: GroupDocs.Redaction 5.0(撰写时的最新版本)
作者: GroupDocs