如何从浏览器触发扫描仪?

时间:2010-08-17 15:39:15

标签: javascript ruby-on-rails paperclip image-scanner

我有富士通fi-6130 TWAIN / ISIS扫描仪,我想通过jQuery Rails网页中的按钮触发。我不仅希望让页面告诉扫描仪“去”,我还希望在扫描(单个)页面后通过Paperclip上传生成的文件 - 理想情况下,无需用户将文件浏览器小部件导航到手动找到文件。

每台扫描仪都连接到Windows XP桌面,但我们可能会将这些呼叫中心桌面替换为谷歌Chrome操作系统。

大约一年前问过这个问题,但主要收到的建议是要求使用价值几百美元的商业IE .NET产品 - Interfacing with the end-user's scanner from a webapp (web/scanner integration)

6 个答案:

答案 0 :(得分:14)

直接在标准的HTML / js页面中无法实现这一点 - js无权访问扫描仪等外围设备。

很可能使用flash或silverlight,但怀疑你遇到了权限问题。有文章herehere,但它可能是a)过于参与,b)不完全是你所追求的。

如果你控制网络应用程序将运行的机器,我建议使用一个简单的桌面客户端来执行扫描,并允许通过打开本地端口从网页内连接它

所以js对(例如)http://localhost:1234/Services/Scan进行AJAX调用,返回一个图像

编辑:关于编写桌面客户端,您有很多选择。我个人建议你不要尝试在PERL / PHP中这样做,因为它们似乎不是正确的工具,我怀疑你最终会加载COM对象来尝试访问TWAIN设备(我们都知道多少有趣......)

在评论中,您表示您不喜欢Visual Studio - 所以如果您熟悉Java,我建议您查看JTwain(商业但质量好) )或开始阅读here。注意:我不是一个经常的Java开发人员,所以不能保证上述任何一个都是你需要的。

除此之外,我建议C ++使用不同的IDE(虽然这不会与操作系统无关)

答案 1 :(得分:13)

有一个名为Dynamic Web TWAIN from Dynamsoft的解决方案,它提供了一个基于浏览器的TWAIN SDK,用于从TWAIN设备获取图像,并编辑并将它们保存到远程数据库。

答案 2 :(得分:2)

正如@Basic所提到的,JTwain可以用来创建这样的解决方案。实际上,JTwain的开发人员创建了ScannerJS that allows one to scan directly from browsers like IE, Chrome and Firefox using JavaScript。要在您的网页中使用它,您需要:

包括scanner.js:

<html lang="en"><head>
<script src="//asprise.azureedge.net/scannerjs/scanner.js" type="text/javascript"></script>

并致电scanner.scan

function scanToWebPageAndUploadToWebServer() {
   scanner.scan(displayImagesOnPage,
{
"twain_cap_setting": {
    "ICAP_PIXELTYPE": "TWPT_GRAY",
    "ICAP_XRESOLUTION": "200",
    "ICAP_YRESOLUTION": "200"
},
"prompt_scan_more": true,
"discard_blank_pages": "false",
"blank_page_threshold": "0.02",
"output_settings": [
    {
        "type": "return-base64-thumbnail",
        "format": "jpg",
        "thumbnail_height": 200
    },
    {
        "type": "upload",
        "format": "pdf",
        "pdf_force_black_white": "false",
        "pdfa_compliant": "false",
        "pdf_text_line": "By ${USERNAME} on ${DATETIME}",
        "exif": {
            "DocumentName": "Doc Scan Powered by Asprise.com",
            "UserComment": "Scanned using Asprise software"
        },
        "upload_target": {
            "url": "https://asprise.com/scan/applet/upload.php?action=dump",
            "max_retries": 2,
            "post_fields": {
                "provider": "Asprise"
            },
            "cookies": "name=Asprise; domain=asprise.com",
            "auth": "user:pass",
            "headers": [
                "Referer: http://asprise.com"
            ],
            "log_file": "null",
            "max_operation_time": 600
        }
    }
]
}

    );
    }

答案 3 :(得分:1)

您可以使用已签名的小程序,使用像MMS计算这样的库。 您可以在OpenKM的代码库中的applet中看到它正在使用中。

答案 4 :(得分:1)

似乎有一个适用于Fujitsu fi系列扫描仪的Web API工具包。 它基本上是您在客户端计算机上安装的应用程序,其中扫描程序通过JSON或Silverlight接受呼叫并将它们发送到扫描仪驱动程序。

http://uk.emc.com/enterprise-content-management/captiva/cloud-toolkit.htm

我刚刚下载了它并正在阅读文档,所以不能保证它有效。

答案 5 :(得分:0)

实际上您可以使用我的应用程序(仅适用于Windows)

https://github.com/cyberzilla/DDEScanner