将扫描到文件应用程序与浏览器集成

时间:2011-07-11 09:18:23

标签: internet-explorer bho scanning twain

我们有一个基于Intranet的应用程序,用户有桌面扫描仪(TWIAN但不兼容WIA)。用户需要从浏览器窗口(IE 8)“点击扫描”,并以最少的用户交互将扫描的图像保存到应用程序。

我有一个带有此功能的c#winform应用程序,但我很难将其与浏览器(IE 8)集成。

我考虑过:

  • 一个Browser-Helper对象将winform应用程序称为dll
  • BHO具有自己的扫描功能实现
  • Silverlight

我还应该考虑其他方法吗?

到目前为止,基于this question/answer并在代码项目中使用.NET TWAIN示例,我非常喜欢COM。

2 个答案:

答案 0 :(得分:0)

Siverlight是您的选择吗? (您的客户是否会安装它)如果是这样,有一个Siverlight页面进行扫描可能是最好的选择。

扫描仪是否可以设置为通过电子邮件发送扫描图像,如果是这样,您可以让您的网络应用程序读取通过电子邮件发送给它的图像。

正如您已经了解的WinForm,可能只是一个小的“单击一次”winform应用程序进行扫描 - 这取决于客户是否愿意安装.net框架。

(Web应用程序仍然存在一些问题,但是客户要求WebApp,因为他们想要“无需安装”)。

答案 1 :(得分:0)

Scanner.js acquires images from TWAIN WIA scanners and webcams in your browser。输出可以将图像返回到网页,直接上传到服务器,或者保存到本地磁盘。

<html lang="en">
<head>
<script src="//asprise.azureedge.net/scannerjs/scanner.js" type="text/javascript"></script>
<script>
    function scanToLocalDisk() {
        scanner.scan(displayResponseOnPage,
          {
           "twain_cap_setting" : {
              "ICAP_PIXELTYPE" : "TWPT_RGB", // Color
              "ICAP_SUPPORTEDSIZES" : "TWSS_USLETTER" // Paper size: TWSS_USLETTER, TWSS_A4, ...
            },
            "output_settings": [
              {
                 "type": "save",
                 "format": "pdf",
                 "save_path": "C:\\myfolder\\${TMS}${EXT}"
              }
            ]
         }
        );
    }

    function displayResponseOnPage(successful, mesg, response) {
        if(!successful) { // On error
            document.getElementById('response').innerHTML = 'Failed: ' + mesg;
            return;
        }
        if(successful && mesg != null && mesg.toLowerCase().indexOf('user cancel') >= 0) { // User cancelled.
            document.getElementById('response').innerHTML = 'User cancelled';
            return;
        }
        document.getElementById('response').innerHTML = scanner.getSaveResponse(response);
    }
</script>
</head>
<body>
<h2>Scan to Local Disk</h2>
<button type="button" onclick="scanToLocalDisk();">Scan</button>
<div id="response"></div>
</body> </html>

指定save_path的值时,您可以使用将要展开的变量。例如,$ {TMS}将扩展为时间戳,$ {EXT}将扩展为文件扩展名。

Scanner.js supports in browser web twain image acquisition in formats like JPG, multi-page PDF,PNG等

Read the developer guide to JavaScript web twain scanning for browsers (Chrome, Edge, Firefix and IE)