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

    文檔首頁>>LEADTOOLS使用教程>>LEADTOOLS教程:如何使用智能捕獲LEADTOOLS從掃描文檔中提取條形碼數(shù)據(jù)

    LEADTOOLS教程:如何使用智能捕獲LEADTOOLS從掃描文檔中提取條形碼數(shù)據(jù)


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

    LEADTOOLS Barcode Pro包含了開發(fā)人員需要檢測(cè)、讀取和寫入超過100種不同的1D和2D條形碼類型和子類型,如UPC、EAN、Code 128、QR Code、Data Matrix和PDF417等等。相比于市場(chǎng)上其他同類型的條形碼成像技術(shù),LEADTOOLS Barcode Pro無疑是最好的。

    點(diǎn)擊下載LEADTOOLS Barcode Pro免費(fèi)版

    智能捕獲可以指從圖像或文檔捕獲數(shù)據(jù)的幾種不同方式。在這篇文章中,將討論如何智能地從掃描的文件中捕獲條形碼。LEADTOOLS TWAIN SDK和條碼SDK是開發(fā)人員可以輕松地使用它來創(chuàng)建物理文檔的掃描應(yīng)用程序,同時(shí)捕捉和提取發(fā)現(xiàn)的任何條形碼數(shù)據(jù)庫。

    AIIM 最近的一項(xiàng)調(diào)查表明,32%的受訪公司使用智能捕獲技術(shù)從PDF和其他數(shù)字文檔中提取條形碼。說到這里,讓我們創(chuàng)建一個(gè).NET桌面應(yīng)用程序,它將識(shí)別掃描圖像中的條形碼。對(duì)于找到的每個(gè)條形碼,我們將提取數(shù)據(jù),然后將該數(shù)據(jù)保存到文本文件,同時(shí)將掃描的文檔另存為PDF。

    這個(gè)應(yīng)用程序?qū)⒅皇褂萌齻€(gè)按鈕。一個(gè)用于選擇將保存PDF和TXT的輸出目錄,一個(gè)用于選擇要掃描的掃描儀,另一個(gè)用于執(zhí)行掃描并識(shí)別條形碼。

    SelectDir_Click

    // Change the output directory
    using (FolderBrowserDialog dlg = new FolderBrowserDialog())
    {
        dlg.ShowNewFolderButton = true;
        if (dlg.ShowDialog(this) == DialogResult.OK)
            _outputDirectory = System.IO.Path.GetFullPath(dlg.SelectedPath);
    }

    ScannerSelect_Click

    // Select the scanner to use
    _twainSession.SelectSource(null);

    Scan_Read_Click

    // Scan the new page(s)
    _twainSession.Acquire(TwainUserInterfaceFlags.Show);

    現(xiàn)在添加以下變量。

    private static BarcodeEngine engine = new BarcodeEngine();
    private static BarcodeReader reader = engine.Reader;
    
    // The Twain session
    private static TwainSession _twainSession;
    
    // The output directory for saving PDF files
    private static string _outputDirectory;
    
    // The image processing commands we are going to use to clean the scanned image
    private static List<RasterCommand> _imageProcessingCommands;
    
    private static int _scanCount;
    private static StringBuilder sb;

    在Form1_Load中,添加用于設(shè)置許可證的代碼、初始化新的Twain會(huì)話、訂閱TwainSession.Acquire事件,然后初始化任何圖像處理命令。

    RasterSupport.SetLicense(@"", "");
    
    _twainSession = new TwainSession();
    _twainSession.Startup(this.Handle, "My Company",
    	"My Product",
    	"My Version",
    	"My Application",
    	TwainStartupFlags.None);
    
    _twainSession.AcquirePage += new EventHandler<TwainAcquirePageEventArgs>(_twainSession_AcquirePage);
    
    // Add as many as you like, here we will add Deskew and Despeckle
    _imageProcessingCommands = new List<RasterCommand>();
    _imageProcessingCommands.Add(new DeskewCommand());
    _imageProcessingCommands.Add(new DespeckleCommand());

    在Form1_FormClosed中,結(jié)束TWAIN會(huì)話。

    // End the twain session
    _twainSession.Shutdown();

    最后添加Twain獲取句柄的代碼。

    private void _twainSession_AcquirePage(object sender, TwainAcquirePageEventArgs e)
    {
        _scanCount++;
    
        // We have a page
        RasterImage image = e.Image;
    
        // First, run the image processing commands on it
        foreach (RasterCommand command in _imageProcessingCommands)
        {
            command.Run(image);
        }
    
        // Read all the barcodes in this image
        BarcodeData[] barcodes = reader.ReadBarcodes(e.Image, LeadRect.Empty, 0, null);
    
        // Print out the barcodes we found
        sb = new StringBuilder();
        sb.AppendLine($"Contains {barcodes.Length} barcodes");
        for (int i = 0; i < barcodes.Length; i++)
        {
            BarcodeData barcode = barcodes[i];
            sb.AppendLine($"  {i + 1} - {barcode.Symbology} - {barcode.Value}");
        }
    
        // Save string builder to a text file
        System.IO.File.WriteAllText($@"{_outputDirectory}\barcodes{_scanCount}.txt", sb.ToString());
    
        // Save image as PDF
        using (RasterCodecs codecs = new RasterCodecs())
        {
            codecs.Save(e.Image,
            	$@"{_outputDirectory}\ScannedImage{_scanCount}.pdf",
            	RasterImageFormat.RasPdf, 0);
        }
    }

    想要購買LEADTOOLS產(chǎn)品正版授權(quán),或了解更多產(chǎn)品信息請(qǐng)點(diǎn)擊“咨詢?cè)诰€客服”

    掃描關(guān)注慧聚IT微信公眾號(hào),及時(shí)獲取最新動(dòng)態(tài)及最新資訊

    1563778777.jpg


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    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); })();