IE瀏覽器下使用Activex插件調用客戶端掃描儀掃描文件並山傳,可以將紙質檔案(如合同、文件、資料等)掃描並將掃描圖像保存到服務器,可以用於合同管理、檔案管理等。
通過插件方式調用掃描儀掃描並獲取圖像,可以減少用戶操作,減少操作出錯,如一次掃描量大也可以使用連續掃描,由系統對掃描文件進行編號或進行其他處理。
web頁面中只需通過js調用后啟動掃描儀掃描,即可獲取掃描文件的圖像編碼,再通過ajax或表單提交到服務器解碼后保存為jpg文件即可。
通過服務器上程序處理后,可以方便以后瀏覽或去其它用戶共享!
web調用掃描儀插件activex掃描圖像上傳並預覽
頁面HTML代碼
- <div id="scanFileList" style="height:300px; overflow:auto;">
- </div>
- <div>
- <input type="checkbox" id="cbo_set" /><label for="cbo_set">顯示掃描設置</label>
- <input type="checkbox" id="cbo_lxsm" /><label for="cbo_lxsm">連續掃描</label>
- <input type="button" value="掃描並提交" onclick="scanClick();" /> <input type="button" onclick="selscan();" value="選擇掃描儀" />
- </div>
頁面js調用Activex
- var tScaner = new ActiveXObject("TScan.Scaner");
- function selscan() {
- tScaner.SelectScanner();
- }
- var scanidx=1;
- function scanClick() {
- scanidx = 1;
- scanSubmit();
- }
- function scanSubmit() {
- //tScaner.JpegQuality = 30; //jpg圖像質量
- //tScaner.ScanImageLeft=10; //掃描圖像的位置(厘米)
- //tScaner.ScanImageTop=10; //掃描圖像的位置(厘米)
- //tScaner.ScanImageWidth=20.0;//掃描圖像的寬度 厘米
- //tScaner.ScanImageHeight=10.2;//掃描圖像的高度 厘米
- if (tScaner.Scan($("#cbo_set").is(":checked")&&scanidx==1) == 0) { //僅在第一次掃描時顯示設置界面//tScaner.Scan(true) //掃描前顯示掃描設置界面
- var imgBase64 = tScaner.ScanImageData;
- if (imgBase64 != "") {
- //添加到列表
- $("#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>");
- //上傳圖像
- $.post("fileup.aspx", { img: imgBase64, id: scanidx }, function(dat) {
- $("#f_" + dat.id + " img").attr("src", dat.src);
- }, "json");
- }
- //是否連續掃描
- if ($("#cbo_lxsm").is(":checked")) {
- scanSubmit();
- }
- }
- }
服務器端(fileup.aspx)接收文件代碼(用戶可以根據需要轉換為Java、PHP等不同語言以適應現有的系統環境)
- string imgBase64 = Request.Params["img"];
- if (imgBase64 != null && imgBase64 != "")
- {
- byte[] imgbytes = Convert.FromBase64String(imgBase64);
- string imgpath = "temp/" + System.Guid.NewGuid() + ".jpg";
- System.IO.FileStream fs = new System.IO.FileStream(Server.MapPath(imgpath), System.IO.FileMode.OpenOrCreate);
- fs.Write(imgbytes, 0, imgbytes.Length);
- fs.Close();
- Response.Write("{id:" + Request.Params["id"] + ",src:'" + imgpath + "'}");
- }
在線演示地址http://dev.netcoming.com.cn/demos/TScan/Scan.html
插件下載地址http://download.csdn.net/detail/nxiaoping/5368329
插件授權 500/域名(或ip,不限制二級域名、端口,無其它限制)協助調試、測試、改進