asp 程序中实现扫描仪编程控制

使用到了ScanOnWeb控件去实现扫描仪控制,ScanOnWeb控件能百度到。
实现代码如下:
1.页面中引入ScanOnWeb控件
  <object classid="clsid:15D142CD-E529-4B01-9D62-22C9A6C00E9B" id="scaner1" width="100%" height="600" codebase="../cabs/ScanOnWeb.cab#version=1,0,0,10">
    <param name="Visible" value="0">
    <param name="AutoScroll" value="0">
    <param name="AutoSize" value="0">
    <param name="AxBorderStyle" value="1">
    <param name="Caption" value="scaner">
    <param name="Color" value="4278190095">
    <param name="Font" value="宋体">
    <param name="KeyPreview" value="0">
    <param name="PixelsPerInch" value="96">
    <param name="PrintScale" value="1">
    <param name="Scaled" value="-1">
    <param name="DropTarget" value="0">
    <param name="HelpFile" value>
    <param name="PopupMode" value="0">
    <param name="ScreenSnap" value="0">
    <param name="SnapBuffer" value="10">
    <param name="DockSite" value="0">
    <param name="DoubleBuffered" value="0">
    <param name="ParentDoubleBuffered" value="0">
    <param name="UseDockManager" value="0">
    <param name="Enabled" value="-1">
    <param name="AlignWithMargins" value="0">
    <param name="ParentCustomHint" value="-1">
  </object>

2.编写javascript代码控制扫描仪读取扫描结果
document.getElementById('scaner1').scan();

3.读取扫描结果存入html的input type=hidden隐藏元素中,然后submit form
  var base64_data = document.getElementById('scaner1').jpegBase64Data; 
  document.getElementById('picData').value=base64_data;
  document.forms[0].submit();
  这里是没扫描一次以后就提交一页扫描结果到asp程序中,如果需要扫描多页文档如扫描成pdf格式以后再提交,则需要读取多页扫描结果。

4.服务器端保存数据到文件中
<%@ LANGUAGE=VBScript CodePage=65001%>
<%
private function decodeBase64(base64) 
   dim DM, EL 
   Set DM = CreateObject("Microsoft.XMLDOM") 
   Set EL = DM.createElement("tmp") 
   EL.DataType = "bin.base64"
   EL.Text = base64 
   decodeBase64 = EL.NodeTypedValue 
end function


dim data
dim ext
data=decodeBase64(request.Form("picData"))
ext=request.Form("picExt")

set stm=Server.CreateObject("ADODB.Stream")
'stm.Mode=adSaveCreateOverWrite 'adModeReadWrite
stm.type=1
stm.open
stm.Write(data)
stm.SaveToFile Server.MapPath("./") & "/" & "ajax" & ext,2
stm.Close
set stm=nothing
response.write "<a href='ajax" & ext & "'>click here</a>"
response.end

%>

你可能感兴趣的:(ASP 扫描仪,扫描仪编程,asp扫描仪源码)