翻譯|使用教程|編輯:莫成敏|2019-09-04 15:09:07.023|閱讀 436 次
概述:這篇文章將演示LEADTOOLS MICR SDK如何檢查支票上的MICR字體,然后使用Annotations SDK對其進行編輯以隱藏私人財務信息。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
LEADTOOLS (Lead Technology)由Moe Daher and Rich Little創建于1990年,其總部設在北卡羅來納州夏洛特。LEAD的建立是為了使Daher先生在數碼圖象與壓縮技術領域的發明面向市場。在過去的發展歷程中,LEAD以其在全世界主要國家中占有的市場領導地位,在數碼圖象開發工具領域中已成為既定的全球領導者。LEADTOOLS開發與發布的LEAD是屢獲殊榮的開發工具包。
很少有人喜歡共享他們的個人信息,我保證也沒有人喜歡共享文件中的私人信息。每天都會在大公司之間發送財務文件的圖像,例如支票。在任何可以上傳到互聯網并在幾秒鐘內被盜的世界中,您永遠不會過于謹慎地保護個人信息。
個人信息的編輯,有時稱為“清理”,是文檔中文本的黑化或刪除。它旨在允許在文檔中選擇性地公開信息,同時對文檔的其他部分保密。當存儲的信息被修改或刪除時,部分或全部數據仍保留在存儲器中。這可能是設計的意外,在設計中,底層存儲機制仍然允許讀取信息,盡管它在名義上是擦除的。這個問題的一般術語是“數據剩余”。在某些情況下,編校通常是指解決數據剩余問題。
這篇文章將演示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區域的黑色編輯條紋??啼涀⑨寱膱D像中的像素數據,從而確保無法再檢索已覆蓋的信息。它不會在圖像中創建另一個圖層。
之前:
之后:
LEADTOOLS Imaging Pro Developer Toolkit、LEADTOOLS Document Imaging Suite Developer Toolkit、LEADTOOLS Medical Imaging Developer Toolkit是LEADTOOLS的產品,點擊查看產品詳情
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn