网页调扫描仪扫描并显示

【本文为笔者亲测,至2017年05月08日(爱普生的一款扫描仪) 可行,http://n19937243.xicp.net 的插件也是同时期可用。】
【之后插件是否可用,是否适合别的扫描仪,未亲测,仅分享个人亲测成果,不喜勿喷~】

js调起扫描仪,如果厂商没有提供相应的组件,可以通过 http://n19937243.xicp.net 注册来调扫描仪。

原理:主要依托于ActiveXObject对象控制扫描仪。
ActiveXObject:通过它可以访问windows的本地文件系统和应用程序,
比如:有的时候我们需要得到用户的机器名,用户名,得到某个文件的信息,或者读写注册表,或者启动计算器、outlook等应用程序。

而 ActiveX 控件只支持IE浏览器,故此调用方法也只能在IE浏览器中运行。

核心代码如下:
js部分:

var tScaner = null;
			var scanidx = 1;
			var TFileUpgrade=null;
			$(function() {
				isInstall();
				//自动安装扫描组件
				var uret = initScan("TScan");
				tScaner = new ActiveXObject("TScan.Scaner");
				$.getScript("http://n19937243.xicp.net/reg?rc=" +tScaner.RegCode,
			 	function() {
			 		if(tScaner.Register(TScan_SN)) {
			
			 		}
			 	})
			 });
			 
			 //扫描仪插件安装检测
			 function isInstall(){
			 	try{
					TFileUpgrade = new ActiveXObject("TFileUpgrade.FileUpgradeActiveFormX");
				}catch(ex){
					if(confirm("启动自动更新失败!\n如被浏览器拦截,请设置为允许访问。\n如尚未安装自动更新组件,点击【确定】立即下载安装?")){
						open("http://n19937243.xicp.net/files/TFileUpgrade.exe");
					}
				}
			 };
			 

			 //初始化扫描仪
			 function initScan(appname) {
			 	try {
			 		TFileUpgrade.ClearApps();
			 		TFileUpgrade.SetApps(appname);
			 	} catch(ex) {
			 		alert('扫描仪初始化异常!')
			 	}
			 };
			 
			 //选择扫描仪
			function selectScan() {
				tScaner.SelectScanner();
			};

			function scanClick() {
				scanidx = 1;
				//tScaner.JpegQuality = 30; //jpg图像质量  
				//tScaner.ScanImageLeft=10; //扫描图像的位置(厘米)  
				//tScaner.ScanImageTop=10; //扫描图像的位置(厘米)  
				//tScaner.ScanImageWidth=20.0;//扫描图像的宽度 厘米  
				//tScaner.ScanImageHeight=10.2;//扫描图像的高度 厘米  
				if(tScaner.Scan($("#scanSetting").is(":checked") && scanidx == 1) == 0) { //仅在第一次扫描时显示设置界面//tScaner.Scan(true) //扫描前显示扫描设置界面  
					var imgBase64 = tScaner.ScanImageData; //tScaner.ScanImageData 获取扫描图像的Base64编码串 图片格式jpg 发送到服务器端后转换成图片
					console.log(imgBase64);
					if(imgBase64 != "") {
						$("#scanImg").append('');
					}

					//是否连续扫描  
					if($("#continueScan").is(":checked")) {
						scanClick();
					}
				}
			}

html部分:

		

附:

  1. 可直接运行的代码文件:http://download.csdn.net/download/dorothy1224/9836609
  2. 效果图:
    网页调扫描仪扫描并显示_第1张图片
    网页调扫描仪扫描并显示_第2张图片
    网页调扫描仪扫描并显示_第3张图片
    网页调扫描仪扫描并显示_第4张图片
    网页调扫描仪扫描并显示_第5张图片

参考学习:
http://blog.csdn.net/ldevs/article/details/9837149
http://blog.csdn.net/xufaxi/article/details/6929103

你可能感兴趣的:(JavaScript)