彩票走势图

logo LEADTOOLS使用教程
文档彩票走势图>>LEADTOOLS使用教程>>LEADTOOLS教程:检测并编辑MICR和CMC7字体以隐藏检查信息

LEADTOOLS教程:检测并编辑MICR和CMC7字体以隐藏检查信息


LEADTOOLS (Lead Technology)由Moe Daher and Rich Little创建于1990年,其总部设在北卡罗来纳州夏洛特。LEAD的建立是为了使Daher先生在数码图象与压缩技术领域的发明面向市场。在过去的发展历程中,LEAD以其在全世界主要国家中占有的市场领导地位,在数码图象开发工具领域中已成为既定的全球领导者。LEADTOOLS开发与发布的LEAD是屡获殊荣的开发工具包。

点击了解LEADTOOLS详情

很少有人喜欢共享他们的个人信息,我保证也没有人喜欢共享文件中的私人信息。每天都会在大公司之间发送财务文件的图像,例如支票。在任何可以上传到互联网并在几秒钟内被盗的世界中,您永远不会过于谨慎地保护个人信息。

个人信息的编辑,有时称为“清理”,是文档中文本的黑化或删除。它旨在允许在文档中选择性地公开信息,同时对文档的其他部分保密。当存储的信息被修改或删除时,部分或全部数据仍保留在存储器中。这可能是设计的意外,在设计中,底层存储机制仍然允许读取信息,尽管它在名义上是擦除的。这个问题的一般术语是“数据剩余”。在某些情况下,编校通常是指解决数据剩余问题。

这篇文章将演示LEADTOOLS MICR SDK如何检查支票上的MICR字体,然后使用Annotations SDK对其进行编辑以隐藏私人财务信息。

创建一个名为DetactRedact(string file)的方法。此方法将搜索给定目录中找到的每个文件,然后使用该方法检测是否找到磁墨水字符识别(MICR)区域MICRCodeDetectionCommand Class。如果找到MICR区域,它将编辑区域的坐标,使其隐藏在视图之外。

首先,设置AnnContainer。这个容器最终会覆盖支票上的私人信息。

// Initialize the rendering engine
AnnWinFormsRenderingEngine renderingEngine = new AnnWinFormsRenderingEngine();

string dir = Path.Combine(Path.GetDirectoryName(file), "Redacted");

// Check if directory exists, if not create it.
if (!Directory.Exists(dir))
    Directory.CreateDirectory(dir);

string outFile = Path.Combine(dir, Path.GetFileNameWithoutExtension(file) + "_redacted.tif");

// Get total pages found in image and look for MICR zone
int totalPages = codecs.GetTotalPages(file);
for (int i = 1; i <= totalPages; i++)
    using (RasterImage image = codecs.Load(file, i)){

}

接下来,添加代码以检测检查中发现的MICR区域和CMC7区域。此代码将从上面进入using语句。

MICRCodeDetectionCommand detectionCommand = new MICRCodeDetectionCommand();
detectionCommand.Run(image);
if (detectionCommand.MICRZone != LeadRect.Empty && detectionCommand.MICRZone.Width > 0 && detectionCommand.MICRZone.Height > 0)
{
    AnnRedactionObject redaction = new AnnRedactionObject
    {
        Rect = container.Mapper.RectToContainerCoordinates(detectionCommand.MICRZone.ToLeadRectD()),
        Fill = AnnSolidColorBrush.Create("Black")
    };
    container.Children.Add(redaction);
}
CMC7CodeDetectionCommand cmc7DetectionCommand = new CMC7CodeDetectionCommand();
cmc7DetectionCommand.Run(image);
if (cmc7DetectionCommand.CMC7Zone != LeadRect.Empty && cmc7DetectionCommand.CMC7Zone.Width > 0 && cmc7DetectionCommand.CMC7Zone.Height > 0)
{
    AnnRedactionObject redaction = new AnnRedactionObject
    {
        Rect = container.Mapper.RectToContainerCoordinates(cmc7DetectionCommand.CMC7Zone.ToLeadRectD()),
        Fill = AnnSolidColorBrush.Create("Black")
    };
    container.Children.Add(redaction);
}

最后,您需要将编校对象刻录到图像中,然后保存图像。以下代码将跟随using语句。

var img = renderingEngine.RenderOnImage(container, image.Clone());
codecs.Save(img, outFile, RasterImageFormat.TifJpeg411, 24, 1, 1, 1, CodecsSavePageMode.Append);

现在,如果查看输出文件夹,将会有一条覆盖CMC7 / MICR区域的黑色编辑条纹。刻录注释会更改图像中的像素数据,从而确保无法再检索已覆盖的信息。它不会在图像中创建另一个图层。

之前:

canadianchequesamplepar.png

之后:

canadianchequesamplepar_redacted.png


LEADTOOLS Imaging Pro Developer ToolkitLEADTOOLS Document Imaging Suite Developer ToolkitLEADTOOLS Medical Imaging Developer Toolkit是LEADTOOLS的产品,点击查看产品详情


扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP