如何从浏览器访问客户端PC上的设备
-
24-09-2019 - |
题
从浏览器中访问客户端PC上设备的各种方法是什么?条形码读取器,扫描仪等?我意识到我的用户可能需要一个插件。这些设备可能具有特定于其设备的API;如果有可能,我想利用他们的API(也许是Java,也许是C,也许是命令行)。
解决方案
一个 签 Java Applet可以独立于平台对大多数事物的访问。用户必须安装Java,并且必须允许签名的小程序运行。
如果您将插件写入 nsapi, ,一旦他们安装了它,您就可以访问用户可以访问的任何内容。当然,他们必须安装插件。
Flash提供了很多对设备的访问。
其他提示
这不是一件琐碎的事情,也没有标准化的API(除了仅限于Internet Explorer的JScript/ActiveX区域外)。
要通过Twain接口访问扫描仪,请查看 这个问题 对于所有我知道的所有通常可用的选项。
大多数其他内容都将归结为自定义编程的Active-X和其他插件。我已经在So中讨论了商业条形码扫描仪插件,但现在找不到问题。
可以在键盘和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()
根据您要做的事情,Silverlight和Adobe在这个领域都具有有限的能力。网络摄像头,在Silverlight 4.0中打印等。但是,它是不平凡的。 Silverlight 4.0和Flash都支持条形码扫描。
不隶属于 StackOverflow