Pregunta

¿Cuáles son las diversas formas de acceder a los dispositivos en el cliente PC, un lector de código 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 específica de su dispositivo; Me gustaría explotar su API si está disponible (tal vez Java, tal vez C, tal vez la línea de comandos).

¿Fue útil?

Solución

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

Si escribe un complemento al Nsapi, una vez que lo hayan instalado, tendrá acceso esencialmente cualquier cosa que el usuario pueda acceder. Por supuesto, tienen que instalar el complemento.

Flash ofrece bastante acceso a los dispositivos.

Otros consejos

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

Para acceder a escáneres a través de la interfaz Twain, consulte esta pregunta Para todas las opciones generalmente disponibles que conozco.

La mayoría de las otras cosas se reducirán a Active-X personalizado y otros complementos. He visto complementos de escáner de código de barras comerciales discutidos en So, pero no puedo encontrar la pregunta en este momento.

Se pueden insertar muchos lectores de código de barras entre el teclado y la PC, por lo que los códigos de barras escaneados van directamente al búfer del teclado. Otros dispositivos se conectan a un puerto serie o tienen controladores que emulan un puerto serie. El siguiente código Python copiará 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()

Dependiendo de lo que esté tratando de hacer, Silverlight y Adobe tienen una capacidad limitada en este campo. Cámaras web, impresión en Silverlight 4.0, etc. Sin embargo, no es trivial. Silverlight 4.0 y Flash, ambos soportan el escaneo de códigos de barras.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top