B/S(WEB)系統中使用Activex插件調用掃描儀實現連續掃描並上傳圖像(IE文件掃描並自動上傳)


 

IE瀏覽器下使用Activex插件調用客戶端掃描儀掃描文件並山傳,可以將紙質檔案(如合同、文件、資料等)掃描並將掃描圖像保存到服務器,可以用於合同管理、檔案管理等。

通過插件方式調用掃描儀掃描並獲取圖像,可以減少用戶操作,減少操作出錯,如一次掃描量大也可以使用連續掃描,由系統對掃描文件進行編號或進行其他處理。

web頁面中只需通過js調用后啟動掃描儀掃描,即可獲取掃描文件的圖像編碼,再通過ajax或表單提交到服務器解碼后保存為jpg文件即可。

通過服務器上程序處理后,可以方便以后瀏覽或去其它用戶共享!

web調用掃描儀插件activex掃描圖像上傳並預覽

頁面HTML代碼

[html] view plain copy
  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='width: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,不限制二級域名、端口,無其它限制)協助調試、測試、改進


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM