2010-02-01 9 views
5

¿Cuáles son las diversas formas de acceder a los dispositivos en la PC del cliente (un lector de códigos de barras, un escáner, etc.) desde un navegador? Me doy cuenta de que mis usuarios pueden necesitar un complemento. Estos dispositivos pueden tener una API que sea específica de su dispositivo; Me gustaría explotar su API si está disponible (tal vez Java, tal vez C, tal vez línea de comandos).Cómo acceder a los dispositivos en una PC cliente desde un navegador

+0

Cada escáner de código de barras que he visto funciona como un teclado, por lo que funcionará en todas partes sin necesidad de configuración adicional. –

+0

Los dispositivos son más similares a un escáner que a un lector de código de barras. – Upperstage

Respuesta

5

A signed Java applet puede tener acceso independiente de la plataforma a la mayoría de las cosas. El usuario debe tener Java instalado y debe permitir que se ejecute el applet firmado.

Si escribe un complemento en el NSAPI, una vez que lo hayan instalado tendrá acceso a todo lo que el usuario pueda acceder. Por supuesto, tienen que instalar el complemento.

Flash ofrece bastante acceso a los dispositivos.

+0

Gran respuesta; Gracias. – Upperstage

1

Esto no es algo trivial, y no hay una API estandarizada para él (excepto tal vez en el área de JScript/ActiveX que se limita a Internet Explorer).

Para acceder a los escáneres a través de la interfaz TWAIN, consulte this question para conocer todas las opciones disponibles que conozco.

La mayoría de las otras cosas dependerán de Active-X programado personalizado y otros complementos. He visto los plug-ins de escáneres de códigos de barras comerciales discutidos en SO, pero no puedo encontrar la pregunta en este momento.

+0

NSAPI es bastante estándar. –

+0

Buen enlace, gracias. – Upperstage

1

Muchos lectores de códigos de barras se pueden insertar entre el teclado y la PC, de modo que los códigos de barras escaneados van directamente al buffer del teclado. Otros dispositivos se conectan a un puerto serie o tienen controladores que emulan un puerto serie. El siguiente código python copiará los datos de un puerto COM real o virtual al búfer de teclado de la ventana activa. El número de puerto COM está codificado pero esto se puede cambiar fácilmente.

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

Dependiendo de lo que esté intentando hacer, Silverlight y Adobe tienen algunas capacidades limitadas en este campo. WebCams, impresión en Silverlight 4.0, etc. Sin embargo, no es trivial. Silverlight 4.0 y Flash son compatibles con el escaneo de códigos de barras.

Cuestiones relacionadas