【问题标题】:Integrating a scan-to-file app with the browser将扫描到文件应用程序与浏览器集成
【发布时间】:2011-07-11 09:18:22
【问题描述】:

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

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

我考虑过:

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

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

到目前为止,我所获得的内容相当繁重,基于 this question/answer 并在代码项目中使用 .NET TWAIN 示例。

【问题讨论】:

  • 如果您考虑商业产品,请查看此TWAIN online demo。它非常适合您的情况。

标签: internet-explorer bho scanning twain


【解决方案1】:

Siverlight 适合您吗? (您的客户会安装它吗)如果是这样,最好有一个用于扫描的 Silverlight 页面。

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

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

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

【讨论】:

  • 是的,.Net 将可用,但它需要感觉像是现有应用程序/浏览器的一部分。 Silverlight 确实是一种选择……有什么优势?
  • @Lambo,你必须学习 Silverlight,你必须让你的客户安装它,而且你在什么平台上运行它是有限的。
【解决方案2】:

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).

【讨论】:

    猜你喜欢
    • 2011-08-09
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多