3

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

我有具有此功能的 ac#winform 应用程序,但我正在努力将其与浏览器 (IE 8) 集成。

我考虑过:

  • 将 winform 应用程序作为 dll 调用的 Browser-Helper 对象
  • 具有自己的扫描功能实现的 BHO
  • 银光

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

基于这个问题/答案并在代码项目中使用.NET TWAIN示例,我到目前为止所得到的内容相当多。

4

2 回答 2

0

Silverlight 是您的选择吗?(您的客户会安装它吗)如果是这样,有一个用于扫描的 Silverlight 页面可能是最佳选择。

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

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

(对于 Web 应用程序来说,仍有一些东西让他们头疼,但客户要求 WebApp 是因为他们不想“安装任何东西”)

于 2011-07-11T09:27:48.593 回答
0

Scanner.js 从浏览器中的 TWAIN WIA 扫描仪和网络摄像头获取图像。输出可以将图像返回到网页,直接上传到服务器,或者在您的情况下,保存到本地磁盘。

<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 支持在浏览器 Web twain 中获取 JPG、多页 PDF、PNG 等格式的图像。

阅读浏览器(Chrome、Edge、Firefix 和 IE)的 JavaScript web twain 扫描开发人员指南

于 2016-08-24T14:32:19.127 回答