zoukankan      html  css  js  c++  java
  • B/S(WEB)系统中使用Activex插件调用扫描仪实现连续扫描并上传图像(IE文件扫描并自动上传)

     

    IE浏览器下使用Activex插件调用客户端扫描仪扫描文件并山传,可以将纸质档案(如合同、文件、资料等)扫描并将扫描图像保存到服务器,可以用于合同管理、档案管理等。

    通过插件方式调用扫描仪扫描并获取图像,可以减少用户操作,减少操作出错,如一次扫描量大也可以使用连续扫描,由系统对扫描文件进行编号或进行其他处理。

    web页面中只需通过js调用后启动扫描仪扫描,即可获取扫描文件的图像编码,再通过ajax或表单提交到服务器解码后保存为jpg文件即可。

    通过服务器上程序处理后,可以方便以后浏览或去其它用户共享!

    web调用扫描仪插件activex扫描图像上传并预览

    页面HTML代码

    1. <div id="scanFileList" style="height:300px; overflow:auto;">  
    2.       
    3.     </div>  
    4.     <div>  
    5.         <input type="checkbox" id="cbo_set" /><label for="cbo_set">显示扫描设置</label>  
    6.         <input type="checkbox" id="cbo_lxsm" /><label for="cbo_lxsm">连续扫描</label>  
    7.         <input type="button" value="扫描并提交" onclick="scanClick();" /> <input type="button" onclick="selscan();" value="选择扫描仪" />  
    8.     </div>  


    页面js调用Activex

    [javascript] view plain copy
    1. var tScaner = new ActiveXObject("TScan.Scaner");  


     

    [javascript] view plain copy
    1. function selscan() {  
    2.            tScaner.SelectScanner();  
    3.        }  
    4.   
    5.        var scanidx=1;  
    6.        function scanClick() {  
    7.            scanidx = 1;  
    8.            scanSubmit();  
    9.        }  
    10.   
    11.        function scanSubmit() {  
    12.            //tScaner.JpegQuality = 30; //jpg图像质量  
    13.            //tScaner.ScanImageLeft=10; //扫描图像的位置(厘米)  
    14.            //tScaner.ScanImageTop=10; //扫描图像的位置(厘米)  
    15.            //tScaner.ScanImageWidth=20.0;//扫描图像的宽度 厘米  
    16.            //tScaner.ScanImageHeight=10.2;//扫描图像的高度 厘米  
    17.            if (tScaner.Scan($("#cbo_set").is(":checked")&&scanidx==1) == 0) {  //仅在第一次扫描时显示设置界面//tScaner.Scan(true) //扫描前显示扫描设置界面  
    18.                var imgBase64 = tScaner.ScanImageData;  
    19.                if (imgBase64 != "") {  
    20.                    //添加到列表  
    21.                    $("#scanFileList").append("<div id='f_" + scanidx + "' style='80px;height:100px;margin-left:2px;float:left;border:solid 1px #ccc;'><img src='' width='80' height='100' /></div>");  
    22.                    //上传图像  
    23.                    $.post("fileup.aspx", { img: imgBase64, id: scanidx }, function(dat) {  
    24.                        $("#f_" + dat.id + " img").attr("src", dat.src);  
    25.                    }, "json");  
    26.                }  
    27.   
    28.                //是否连续扫描  
    29.                if ($("#cbo_lxsm").is(":checked")) {  
    30.                    scanSubmit();  
    31.                }  
    32.            }   
    33.        }  

    服务器端(fileup.aspx)接收文件代码(用户可以根据需要转换为JavaPHP等不同语言以适应现有的系统环境)

    [csharp] view plain copy
    1. string imgBase64 = Request.Params["img"];  
    2.           
    3.         if (imgBase64 != null && imgBase64 != "")  
    4.         {  
    5.             byte[] imgbytes = Convert.FromBase64String(imgBase64);  
    6.             string imgpath = "temp/" + System.Guid.NewGuid() + ".jpg";  
    7.             System.IO.FileStream fs = new System.IO.FileStream(Server.MapPath(imgpath), System.IO.FileMode.OpenOrCreate);  
    8.             fs.Write(imgbytes, 0, imgbytes.Length);  
    9.             fs.Close();  
    10.             Response.Write("{id:" + Request.Params["id"] + ",src:'" + imgpath + "'}");  
    11.         }  

    在线演示地址http://dev.netcoming.com.cn/demos/TScan/Scan.html

    插件下载地址http://download.csdn.net/detail/nxiaoping/5368329

    插件授权 500/域名(或ip,不限制二级域名、端口,无其它限制)协助调试、测试、改进

  • 相关阅读:
    团队第十天成果及燃尽图。
    团队第九天成果。
    团队第八天成果。
    各组建议。
    团队任务,团队报告。
    团队第六,七天成果。
    团队第五天成果
    最大连续子数组和(简单一维dp)
    小白鼠问题(海明码)
    JUnit练习
  • 原文地址:https://www.cnblogs.com/lcword/p/6902486.html
Copyright © 2011-2022 走看看