IE浏览器下使用Activex插件调用客户端扫描仪扫描文件并山传,
可以将纸质档案(如合同、文件、资料等)扫描并将扫描图像保存到服务器,可以用于合同管理、档案管理等。
通过插件方式调用扫描仪扫描并获取图像,可以减少用户操作,减少操作出错,如一次扫描量大也可以使用连续扫描,由系统对扫描文件进行编号或进行其他处理。
web页面中只需通过js调用后启动扫描仪扫描,即可获取扫描文件的图像编码,再通过ajax或表单提交到服务器解码后保存为jpg文件即可。
通过服务器上程序处理后,可以方便以后浏览或去其它用户共享!
web调用扫描仪插件activex扫描图像上传并预览
页面HTML代码
<
div
id=
"scanFileList"
style=
"height:300px; overflow:auto;"
>
</
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 scanSubmit() {
if (tScaner.Scan($(
"#cbo_set").is(
":checked")&&scanidx==1) == 0) {
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();
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,不限制二级域名、端口,无其它限制)协助调试、
测试
、改进