• <menu id="w2i4a"></menu>
  • logo LEADTOOLS使用教程

    文檔首頁>>LEADTOOLS使用教程>>LEADTOOLS教程:檢測并編輯MICR和CMC7字體以隱藏檢查信息

    LEADTOOLS教程:檢測并編輯MICR和CMC7字體以隱藏檢查信息


    LEADTOOLS (Lead Technology)由Moe Daher and Rich Little創(chuàng)建于1990年,其總部設(shè)在北卡羅來納州夏洛特。LEAD的建立是為了使Daher先生在數(shù)碼圖象與壓縮技術(shù)領(lǐng)域的發(fā)明面向市場。在過去的發(fā)展歷程中,LEAD以其在全世界主要國家中占有的市場領(lǐng)導(dǎo)地位,在數(shù)碼圖象開發(fā)工具領(lǐng)域中已成為既定的全球領(lǐng)導(dǎo)者。LEADTOOLS開發(fā)與發(fā)布的LEAD是屢獲殊榮的開發(fā)工具包。

    點(diǎn)擊了解LEADTOOLS詳情

    很少有人喜歡共享他們的個人信息,我保證也沒有人喜歡共享文件中的私人信息。每天都會在大公司之間發(fā)送財務(wù)文件的圖像,例如支票。在任何可以上傳到互聯(lián)網(wǎng)并在幾秒鐘內(nèi)被盜的世界中,您永遠(yuǎn)不會過于謹(jǐn)慎地保護(hù)個人信息。

    個人信息的編輯,有時稱為“清理”,是文檔中文本的黑化或刪除。它旨在允許在文檔中選擇性地公開信息,同時對文檔的其他部分保密。當(dāng)存儲的信息被修改或刪除時,部分或全部數(shù)據(jù)仍保留在存儲器中。這可能是設(shè)計的意外,在設(shè)計中,底層存儲機(jī)制仍然允許讀取信息,盡管它在名義上是擦除的。這個問題的一般術(shù)語是“數(shù)據(jù)剩余”。在某些情況下,編校通常是指解決數(shù)據(jù)剩余問題。

    這篇文章將演示LEADTOOLS MICR SDK如何檢查支票上的MICR字體,然后使用Annotations SDK對其進(jìn)行編輯以隱藏私人財務(wù)信息。

    創(chuàng)建一個名為DetactRedact(string file)的方法。此方法將搜索給定目錄中找到的每個文件,然后使用該方法檢測是否找到磁墨水字符識別(MICR)區(qū)域MICRCodeDetectionCommand Class。如果找到MICR區(qū)域,它將編輯區(qū)域的坐標(biāo),使其隱藏在視圖之外。

    首先,設(shè)置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)){
    
    }

    接下來,添加代碼以檢測檢查中發(fā)現(xiàn)的MICR區(qū)域和CMC7區(qū)域。此代碼將從上面進(jìn)入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);

    現(xiàn)在,如果查看輸出文件夾,將會有一條覆蓋CMC7 / MICR區(qū)域的黑色編輯條紋??啼涀⑨寱膱D像中的像素數(shù)據(jù),從而確保無法再檢索已覆蓋的信息。它不會在圖像中創(chuàng)建另一個圖層。

    之前:

    canadianchequesamplepar.png

    之后:

    canadianchequesamplepar_redacted.png


    LEADTOOLS Imaging Pro Developer ToolkitLEADTOOLS Document Imaging Suite Developer Toolkit、LEADTOOLS Medical Imaging Developer Toolkit是LEADTOOLS的產(chǎn)品,點(diǎn)擊查看產(chǎn)品詳情


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();