【教程】扫描识别工具Dynamic Web TWAIN使用教程:条码读取器(上)

                              使用条形码识别在文档数字化中自动分类

介绍

现在,无纸化办公的想法越来越受欢迎,纸质文件的数字化已经成为一种趋势。与此同时,许多行业,如医院,银行等,仍然需要打印文件,然后再将其数字化。那么这将会导致一种情况:由于不同操作之间的时间差异,很可能会堆积大量纸质文档并且正等待扫描。然后,我们需要对多个文档进行一次性扫描,在此期间需要对文档进行分类。当然,这些任务可以手动完成,但自动化可以节省大量的时间和精力。在本文中,我们将分享如何通过Web应用程序中的条形码实现自动化。

环境

Windows

本地Web服务器

步骤

步骤1 创建一个新目录DocumentsSeparation在其中创建一个新页面index.html

<!DOCTYPE html>
  <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>Documents Separation</title>
    </head>
  <body>
  </body>
</html>

步骤2 参考核心JavaScript库

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documents Separation</title>
    <script src="https://tst.dynamsoft.com/libs/dwt/14.2/dynamsoft.webtwain.config.js"></script>
    <script src="https://tst.dynamsoft.com/libs/dwt/14.2/dynamsoft.webtwain.initiate.js"></script>
    <script src="https://tst.dynamsoft.com/libs/dbr/6.3/dynamsoft.barcodereader.config.js"> </script>
    <script src="https://tst.dynamsoft.com/libs/dbr/6.3/dynamsoft.barcodereader.initiate.js"></script>
</head>

注意:此处引用了在线JavaScript文件。在项目中,你应该引用项目中的相应文件。如果你以前在本地安装了Dynamic Web TWAIN产品,也可以在以下目录中找到相同的文件。

C:\Program Files (x86)\Dynamsoft\Dynamic Web TWAIN SDK {version number} {Trial}\Resource

步骤3 添加DIV和几个按钮

<body>
    <input type="button" value="Scan" onclick="AcquireImage();" />
    <input type="button" value="Load" onclick="LoadImages();" />
    <input type="button" value="Delete" onclick="RemoveImages();" />
    <input type="button" value="Separate" onclick="UploadFiles();" />
    <br />
    <br />
    <div id="dwtcontrolContainer" style="float: left"></div>
</body>

效果如下:

按钮

步骤4 添加初始化代码

<script type="text/javascript">
    var dbrObject, DWObject;
    window.onload = function () {
        if (Dynamsoft && (!Dynamsoft.Lib.env.bWin || !Dynamsoft.Lib.product.bChromeEdition)) {
            var ObjString = [];
            ObjString.push('<div class="p15">');
            ObjString.push("Current browser is not supported, please use Chrome, Firefox, Edge or IE 11");
            ObjString.push('</div>');
            Dynamsoft.WebTwainEnv.ShowDialog(400, 180, ObjString.join(''));
            if (document.getElementsByClassName("dynamsoft-dialog-close"))
                document.getElementsByClassName("dynamsoft-dialog-close")[0].style.display = "none";
        } else {
            Dynamsoft.WebTwainEnv.Load();
        }
    };
    Dynamsoft.WebTwainEnv.AutoLoad = false;
    //Dynamsoft.WebTwainEnv.ProductKey = '***';
    Dynamsoft.WebTwainEnv.RegisterEvent('OnWebTwainReady', Dynamsoft_OnReady);

    dynamsoft.dbrEnv.onAutoConnectServiceSuccess = function() {
        dbrObject = new dynamsoft.BarcodeReader();
    }

    dynamsoft.dbrEnv.onAutoConnectServiceError = function(ex) {
        console.log('Initialization failed with error code: ' + (ex.message || ex));
    }
    function Dynamsoft_OnReady() {
        DWObject = Dynamsoft.WebTwainEnv.GetWebTwain('dwtcontrolContainer');
        if (DWObject) {
            DWObject.SetViewMode(3, 3);
        }
    }
</script>

步骤5 在浏览器中打开index.html。如果之前未安装,请按照页面上的提示安装相应的扫描和条形码识别控件。此安装过程只需在每台计算机上完成一次

Barcode Reader1

通常的安装路径为 C:\Windows\SysWOW64\Dynamsoft\DynamsoftService

以下是本文中使用的主要文件。

  • DynamsoftService.exe
  • dwt_trial_14.1.0.0828.dll
  • DynamsoftBarcodeReaderx86_6.3.dll
  • dbr_6.3.0.0723.dll

步骤6 添加按钮的代码

function AcquireImage() {
    if (DWObject) {
        DWObject.SelectSource(function () {
            var OnAcquireImageSuccess, OnAcquireImageFailure;
            OnAcquireImageSuccess = OnAcquireImageFailure = function () {
                DWObject.CloseSource();
            };
            DWObject.OpenSource();
            DWObject.IfDisableSourceAfterAcquire = true;
            DWObject.AcquireImage(OnAcquireImageSuccess, OnAcquireImageFailure);
        }, function () {
            console.log('Failed to select a source');
        });
    }
} 
function LoadImages() {
    if (DWObject) {
        DWObject.LoadImageEx('', 5,
            function () {
            },
            function (errorCode, errorString) {
                console.log('ailed to load a file with the error code:' + errorString);
            }
        );
    }
}
function RemoveImages() {
    if (DWObject)
        DWObject.RemoveAllSelectedImages();
}

步骤7 刷新页面。此时,你可以调用本地扫描仪加载本地图像,或删除所选图像。你甚至可以直接拖动本地图像直接加载它

Barcode Reader2

Barcode Reader3

步骤8 添加条码识别码,因为条码有很多种类,我们先添加一个选择框,相应的代码如下

HTML

<select size="1" id="barcodeformat"></select>

JavaScript

var BarcodeInfo =
    [
        { desc: "All", val: 503317503 },
        { desc: "1D Barcodes", val: 1023 },
        { desc: "QR Code", val: 67108864 },
        { desc: "PDF417", val: 33554432 },
        { desc: "DATAMATRIX", val: 134217728 },
        { desc: "AZTEC", val: 268435456 },
        { desc: "CODE_39", val: 1 },
        { desc: "CODE_128", val: 2 },
        { desc: "CODE_93", val: 4 },
        { desc: "CODABAR", val: 8 },
        { desc: "ITF", val: 16 },
        { desc: "EAN_13", val: 32 },
        { desc: "EAN_8", val: 64 },
        { desc: "UPC_A", val: 128 },
        { desc: "UPC_E", val: 256 },
        { desc: "INDUSTRIAL_25", val: 512 }
    ];
// Add the following code to the function `Dynamsoft_OnReady` mentioned above
for (var index = 0; index < BarcodeInfo.length; index++)
  document.getElementById("barcodeformat").options.add(new Option(BarcodeInfo[index].desc, index));
document.getElementById("barcodeformat").options.selectedIndex = 0;

 

步骤9 有三种方法可以对文档进行分类

使用条形码图像启动每个文档

仅使用带条形码的图像作为分隔符,而不将其包含在任何文档中

每个页面都有一个Barode,具有相同条形码的图像属于同一个文件

Barcode Reader4

我们将在代码中实现这三种方式

<div style="float: left; margin-left: 20px;">
    <ul style="list-style: none; min-height: 20px;">
        <li style="width:118px; float: left; text-align: center;">
            <label for="mode1">
                <input type="radio" name="UploadModes" checked="checked" value="mode1">Mode 1</label>
        </li>
        <li style="width:118px; float: left; text-align: center;">
            <label for="mode2">
                <input type="radio" name="UploadModes" value="mode2" id="mode2">Mode 2</label>
        </li>
        <li style="width:118px; float: left; text-align: center;">
            <label for="mode3">
                <input type="radio" name="UploadModes" value="mode3" id="mode3">Mode 3</label>
        </li>
    </ul>
    <br />
    <ul style="list-style: none; min-height: 180px;">
        <li style="width:118px; height:176px; float: left; background: url('https://tst.dynamsoft.com/libs/dbr/modes/Mode1.png') center no-repeat">
        </li>
        <li style="width:118px; height:176px; float: left; background: url('https://tst.dynamsoft.com/libs/dbr/modes/Mode2.png') center no-repeat">
        </li>
        <li style="width:118px; height:176px; float: left; background: url('https://tst.dynamsoft.com/libs/dbr/modes/Mode3.png') center no-repeat">
        </li>
    </ul>

效果如下:

三种方式

下一篇文章将为大家介绍添加分类的JavaScript代码以及如何接受分离的文件。

                                                      【Dynamic Web TWAIN最新版免费下载>>>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值