博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PDF417美国驾照条形码信息自动识别
阅读量:5925 次
发布时间:2019-06-19

本文共 5119 字,大约阅读时间需要 17 分钟。

hot3.png

使用DWT (Dynamic Web TWAIN) 的2D Barcode插件可以轻松使用JavaScript API读取PDF417二维码信息。这里演示如何在网页中实现一个美国驾照条形码信息自动识别的Web应用。

11100759_XNWD.png

参考文章:

步骤说明

  1. 扫描或者加载一张美国驾照图片。

  2. 从DWT的native服务进程中获取识别结果。

  3. 在Web客户端获取结果并填充到对应项中。

使用DWT SDK实现Web应用

在Resources目录中放置Barcode.zip和Barcodex64.zip。

创建index.html:

    Use Dynamic Web TWAIN to Read Barcode        
     
      
    

 Dynamic Web TWAIN - Driver's Licenses

    
    
    
 
     First Name: 
    Last Name: 
 
    City: 
    Address: 
    License Number: 
 
    State: 
    Zip: 
     
    
     
        Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', Dynamsoft_OnReady); // Register OnWebTwainReady event. This event fires as soon as Dynamic Web TWAIN is initialized and ready to be used         var DWObject;        var text;         function Dynamsoft_OnReady() {            DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer'); // Get the Dynamic Web TWAIN object that is embeded in the div with id 'dwtcontrolContainer'         }         function AcquireImage() {            if (DWObject) {                DWObject.SelectSource();                DWObject.OpenSource();                DWObject.IfDisableSourceAfterAcquire = true;    // Scanner source will be disabled/closed automatically after the scan.                DWObject.AcquireImage();            }        }         //Callback functions for async APIs        function OnSuccess() {            console.log('successful');        }         function OnFailure(errorCode, errorString) {            alert(errorString);        }         function LoadImage() {            if (DWObject) {                DWObject.IfShowFileDialog = true; // Open the system's file dialog to load image                DWObject.LoadImageEx("", EnumDWT_ImageType.IT_ALL, OnSuccess, OnFailure); // Load images in all supported formats (.bmp, .jpg, .tif, .png, .pdf). OnSuccess or OnFailure will be called after the operation            }        }         function GetField(keyword) {             var k = text.search(keyword);            var n = text.indexOf(":", k);            var m = text.indexOf("\n", n);            var subtext = text.substring(n+1, m);            return subtext;        }         function GetBarcodeInfo(sImageIndex, result) {//This is the function called when barcode is read successfully            //Retrieve barcode details            var count = result.GetCount();            if (count == 0) {                alert("The barcode for the selected format is not found.");                return;            } else {                for (i = 0; i < count; i++) {                    text = result.GetContent(i);                    var x = result.GetX1(i);                    var y = result.GetY1(i);                    var format = result.GetFormat(i);                    var barcodeText = ("barcode[" + (i + 1) + "]: " + "\n" + text + "\n");                    //barcodeText += ("format: PDF 417" + "\n");                    //barcodeText += ("x: " + x + " y:" + y + "\n");                    //var strBarcodeString = text + "\r\n" + (format == 4 ? "Code 39" : "Code 128");                    //DWObject.AddText(DWObject.CurrentImageIndexInBuffer, x, y, strBarcodeString, -1, 94700, 0, 1);                    // alert(barcodeText);   // get driver license info                     alert(text);                    if (text.search("Given Name") == -1)                        document.getElementById("FirstName").value = GetField("First Name");                    else                        document.getElementById("FirstName").value = GetField("Given Name");                    document.getElementById("LastName").value = GetField("Last Name");                    document.getElementById("LicenseNumber").value = GetField("License Number");                    document.getElementById("State").value = GetField("State");                    document.getElementById("City").value = GetField("City");                    document.getElementById("Address").value = GetField("Address");                    document.getElementById("Zip").value = GetField("Zip");                 }            }        }         function ReadBarcode() {             if (DWObject) {                if (DWObject.Addon.Barcode.GetLocalVersion() == "9, 6, 2, 303") {                    if (DWObject.HowManyImagesInBuffer == 0) {                        alert("Please scan or load an image first.");                        return;                    }                     result = DWObject.Addon.Barcode.Read(                            DWObject.CurrentImageIndexInBuffer, 1024, GetBarcodeInfo, OnFailure);                }                else {                    DWObject.Addon.Barcode.Download("\\Resources\\Barcode.zip",ReadBarcode,OnFailure);                }            }        }        
 

把整个工程部署到server就可以运行测试了。

视频

源码

git clone https://github.com/DynamsoftRD/pdf417-barcode-reader.git

转载于:https://my.oschina.net/yushulx/blog/385128

你可能感兴趣的文章
WebService系列一:WebService简介
查看>>
log4net的相关使用笔记
查看>>
import ... from和import {} from 的区别
查看>>
Mysql数据库
查看>>
HDU 1010 Tempter of the Bone
查看>>
Exception in thread "main" java.lang.NoClassDefFoundError错误总结
查看>>
asp.net identity 介绍
查看>>
AC日记——最长最短单词 openjudge 1.7 25
查看>>
去重排序
查看>>
Windows Azure革新——Caching(预览)
查看>>
Windows Azure 安全最佳实践 - 第 4 部分:需要采取的其他措施
查看>>
maven pom.xml加载不同properties配置
查看>>
Linux定时任务
查看>>
查看Eclipse版本号,及各个版本区别
查看>>
一些正则表达式
查看>>
Spring Boot+Quartz实现一个实时管理的定时任务
查看>>
uva 11181 Probability|Given
查看>>
洛谷 2017.7月赛解题报告
查看>>
CentOS 网络设置
查看>>
有一种书叫——迫不及待
查看>>