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

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

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 engineAnnWinFormsRenderingEngine 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 zoneint 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的产品,点击查看产品详情

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年8月2日
下一篇 2019年8月2日

相关推荐

发表回复

登录后才能评论