如何从浏览器访问客户端PC上的设备

时间:2010-02-01 18:02:36

标签: javascript browser plugins peripherals

从浏览器访问客户端PC上的设备 - 条形码阅读器,扫描仪等等的各种方法有哪些?我意识到我的用户可能需要一个插件。这些设备可能具有特定于其设备的API;我想利用他们的API(如果可用的话(可能是Java,也许是C,也许是命令行)。

4 个答案:

答案 0 :(得分:5)

签名 Java applet可以对大多数事物进行独立于平台的访问。用户必须安装Java,并且必须允许签名的applet运行。

如果您为NSAPI编写了一个插件,一旦安装了它,您就可以访问用户可以访问的任何内容。当然,他们必须安装插件。

Flash提供了大量的设备访问权限。

答案 1 :(得分:1)

这不是一件小事,并且没有标准化的API(除了可能限于Internet Explorer的JScript / ActiveX区域)。

要通过TWAIN界面访问扫描仪,请查看this question以了解我所知道的所有常用选项。

大多数其他事情都将归结为自定义编程的Active-X和其他插件。我在SO上看过商业条码扫描器插件,但现在找不到问题。

答案 2 :(得分:1)

许多条形码阅读器可以插在键盘和PC之间,因此扫描的条形码直接进入键盘缓冲区。其他设备可插入串行端口或具有模拟串行端口的驱动程序。以下python代码将数据从实际或虚拟COM端口复制到活动窗口的键盘缓冲区。 COM端口号是硬编码的,但可以很容易地更改。

import serial
import SendKeys

ser = serial.Serial(2)
print ser.portstr
while 1: # exit loop when ctrl/c pressed
    line = ""
    while 1:
        char = ser.read()
        if char == "\r": break
        line = line + char
    print line
    SendKeys.SendKeys(line, 0)
ser.close()

答案 3 :(得分:0)

根据您的尝试,Silverlight和Adobe在这个领域都有一些有限的功能。 WebCams,在Silverlight 4.0中打印等等。但是,这是非常重要的。 Silverlight 4.0和Flash都支持条形码扫描。