如何使用 .NET 创建自动 PII 或 Keyword 编辑管道

如何使用 .NET 创建自动 PII 或 Keyword 编辑管道

在扫描图像中编辑个人识别信息(PII)和敏感关键字对隐私、法律和遵守操作至关重要。

现实世界问题

扫描档案中的机密数据的手动编写是缓慢、错误的、昂贵的。 自动化是必要的,以确保可靠和一致的隐藏符合性和隐私审查。

解决方案概述

使用 OCR 自动检测 PII 或关键字,然后在图像中面具、模具或取代它们,并保存编辑的结果 - 确保隐私和安全。

原則

  • Visual Studio 2019 或以后
  • .NET 6.0 或更高版本(或 .Net Framework 4.6.2+)
  • Aspose.OCR 为 .NET 从 NuGet
  • PII 或在文本文件中的关键字列表
PM> Install-Package Aspose.OCR

步骤实施

步骤1:准备PII/关键字列表和输入图像

List<string> piiList = new List<string>(File.ReadAllLines("pii_keywords.txt"));
string[] files = Directory.GetFiles("./input", "*.png");

步骤2:寻找PII/关键词

RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
AsposeOcr ocr = new AsposeOcr();
foreach (string file in files)
{
    foreach (string pii in piiList)
    {
        bool found = ocr.ImageHasText(file, pii, settings);
        if (found)
        {
            // Proceed to redact in Step 3
        }
    }
}

步骤3:编辑或面具检测的条款

  • 在 Aspose.OCR 检测术语时,编辑必须与图像图书馆(例如,System.Drawing,SkiaSharp)一起应用。
// Example using System.Drawing to overlay black box (simplified)
using (var image = new Bitmap(file))
{
    using (var g = Graphics.FromImage(image))
    {
        // Locate/estimate bounding box for found term (requires mapping OCR region, see docs/API)
        // g.FillRectangle(Brushes.Black, x, y, width, height);
    }
    image.Save($"./redacted/redacted_{Path.GetFileName(file)}");
}

步骤4:记录编辑文件

File.AppendAllText("redaction_log.csv", $"{file},{pii},redacted\n");

步骤5:完成Batch工作流示例

using Aspose.OCR;
using System;
using System.Collections.Generic;
using System.IO;
using System.Drawing;

class Program
{
    static void Main(string[] args)
    {
        List<string> piiList = new List<string>(File.ReadAllLines("pii_keywords.txt"));
        string[] files = Directory.GetFiles("./input", "*.png");
        RecognitionSettings settings = new RecognitionSettings();
        settings.Language = Language.English;
        AsposeOcr ocr = new AsposeOcr();
        foreach (string file in files)
        {
            foreach (string pii in piiList)
            {
                bool found = ocr.ImageHasText(file, pii, settings);
                if (found)
                {
                    // Redact by overlay (simplified; see docs for bounding box)
                    using (var image = new Bitmap(file))
                    using (var g = Graphics.FromImage(image))
                    {
                        // Example: Draw rectangle where text is found (requires OCR region info)
                        // g.FillRectangle(Brushes.Black, x, y, width, height);
                        // Save redacted copy
                        image.Save($"./redacted/redacted_{Path.GetFileName(file)}");
                    }
                    File.AppendAllText("redaction_log.csv", $"{file},{pii},redacted\n");
                }
            }
        }
    }
}

注意: 要准确地绘制区域,请使用 Aspose.OCR 的区域识别 API 获取检测的文本区块的坐标,然后精确面具。

使用案例和应用程序

法律和遵守

自动编写合同、人力资源文件和监管文件。

隐私审计

确保不会在扫描的档案、登机或证据文件中泄漏PII。

数据损失预防(Data Loss Prevention)

停止在扫描图像中随机共享或存储敏感信息。

共同挑战与解决方案

挑战1:找到准确的文本区域

** 解决方案:** 使用 OCR 文本区域输出和地图为图像坐标隐藏。

挑战2:错误的积极和消极

** 解决方案:** 列出关键字列表,验证编辑的图像,并进行审计。

挑战3:Batch Job Size

** 解决方案:** 平行和自动错误处理为规模。

绩效考虑

  • 区域计算和图像写作可能很慢,如果需要的话,使用Async。
  • 登录所有编辑 遵守评论

最佳实践

  • 测试区域地图准确性与多样图像
  • 定期更新新 PII 模式的关键字列表
  • 保存原始和编辑文件
  • 用手动点检查验证

先进的场景

剧本1:蓝色而不是黑色

使用图像过滤器将被检测到的区域为更微妙的面具。

剧本2:自定义编辑/替代文本

将自定义标签(例如“REDACTED”)转换为黑盒子。

结论

Aspose.OCR Image Text Finder for .NET 允许您在规模上自动编写 PII / 关键字 - 减少法律风险,并确保图像档案的隐私。

具体区域API和编辑集成,请参见 ASPOSE.OCR 为 .NET API 参考 .

 中文