您的位置:首页 > Web前端 > JavaScript

网页调扫描仪扫描并显示

2017-05-08 17:15 85 查看
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('<img src="data:image/gif;base64,' +imgBase64+ '" class="" style="width:300px;height:500px;border:1px solid pink;margin:10px;" />');
}

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


html部分:

<div>
<input type="checkbox" id="scanSetting" /><label for="scanSetting">显示扫描设置</label>
<input type="checkbox" id="continueScan" /><label for="continueScan">连续扫描</label>
<input type="button" onclick="selectScan();" value="选择扫描仪" />
<input type="button" value="扫描" onclick="scanClick();" />
</div>
<div id="scanImg"></div>


附:

1. 可直接运行的代码文件:http://download.csdn.net/download/dorothy1224/9836609

2. 效果图:











参考学习:

http://blog.csdn.net/ldevs/article/details/9837149

http://blog.csdn.net/xufaxi/article/details/6929103
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JavaScript