2010-02-01 4 views
5

Каковы различные способы доступа к устройствам на клиентском ПК - считыватель штрих-кодов, сканер и т. Д. - из браузера? Я понимаю, что моим пользователям может понадобиться плагин. Эти устройства могут иметь API, специфичный для их устройства; Я хотел бы использовать их API, если они доступны (возможно, Java, возможно, C, возможно, командной строки).Как получить доступ к устройствам на клиентском компьютере из браузера

+0

Каждый сканер штрих-кода, который я когда-либо видел, работает как клавиатура, поэтому он будет работать везде, где клавиатура будет без дополнительной настройки. –

+0

Устройства больше похожи на сканер, чем на считыватель штрих-кода. – Upperstage

ответ

5

A подписан Java-апплет может иметь независимый от платформы доступ ко всем вещам. Пользователь должен установить Java и должен разрешить запуск подписанного апплета.

Если вы напишете подключаемый модуль к NSAPI, как только они его установили, у вас будет доступ к практически всем, к чему пользователь может получить доступ. Конечно, они должны установить плагин.

Flash предлагает довольно большой доступ к устройствам.

+0

Отличный ответ; Благодарю. – Upperstage

1

Это не тривиальная вещь, и для нее нет стандартизованного API (кроме, может быть, в области JScript/ActiveX, ограниченной только Internet Explorer).

Для доступа к сканерам через интерфейс TWAIN ознакомьтесь с this question для всех общедоступных опций, о которых я знаю.

Большинство других вещей будут доставлять заказным Active-X и другим плагинам. Я видел коммерческие плагины для штрих-кодов, обсуждаемые на SO, но не могу найти вопрос прямо сейчас.

+0

NSAPI довольно стандартный. –

+0

Хорошая ссылка, спасибо. – Upperstage

1

Многие считыватели штрих-кода могут быть вставлены между клавиатурой и ПК, поэтому отсканированные штрих-коды идут прямо в буфер клавиатуры. Другие устройства подключаются к последовательному порту или имеют драйверы, которые эмулируют последовательный порт. Следующий код 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() 
0

В зависимости от того, что вы пытаетесь сделать, Silverlight и Adobe имеют ограниченную возможность на этой арене. Веб-камеры, печать в Silverlight 4.0 и т. Д. Однако это нетривиально. Silverlight 4.0 и Flash поддерживают сканирование штрих-кодов.

Смежные вопросы