Welche Möglichkeiten gibt es, um auf einem Client-PC - einem Barcodeleser, einem Scanner usw. - über einen Browser auf Geräte zuzugreifen? Ich weiß, dass meine Benutzer möglicherweise ein Plugin benötigen. Diese Geräte verfügen möglicherweise über eine API, die für ihr Gerät spezifisch ist. Ich möchte ihre API ausnutzen, wenn sie verfügbar ist (vielleicht Java, vielleicht C, vielleicht Befehlszeile).So greifen Sie über einen Browser auf Geräte auf einem Client-PC zu
Antwort
A signiert Java-Applet kann plattformunabhängigen Zugriff auf die meisten Dinge haben. Der Benutzer muss Java installiert haben und das signierte Applet ausführen lassen.
Wenn Sie ein Plug-in in das NSAPI schreiben, haben Sie nach der Installation Zugriff auf alles, auf das der Benutzer zugreifen kann. Natürlich müssen sie das Plug-In installieren.
Flash bietet ziemlich viel Zugriff auf Geräte.
Große Antwort; Vielen Dank. – Upperstage
Dies ist keine triviale Sache, und es gibt keine standardisierte API dafür (außer vielleicht im JScript/ActiveX-Bereich, der auf Internet Explorer beschränkt ist).
Für den Zugriff auf Scanner über die TWAIN-Schnittstelle, überprüfen Sie this question für alle allgemein verfügbaren Optionen, die ich kenne.
Die meisten anderen Dinge sind auf individuell programmierte Active-X und andere Plug-Ins zurückzuführen. Ich habe kommerzielle Barcode-Scanner-Plugins gesehen, die auf SO diskutiert wurden, aber ich kann die Frage nicht sofort finden.
NSAPI ist ziemlich Standard. –
Gute Verbindung, danke. – Upperstage
Viele Barcodeleser können zwischen der Tastatur und dem PC eingefügt werden, so dass die gescannten Barcodes direkt in den Tastaturpuffer gelangen. Andere Geräte stecken entweder in einen seriellen Port oder haben Treiber, die einen seriellen Port emulieren. Der folgende Python-Code kopiert Daten von einem realen oder virtuellen COM-Port in den Tastaturpuffer des aktiven Fensters. Die COM-Port-Nummer ist fest codiert, aber dies kann leicht geändert werden.
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()
Je nachdem, was Sie versuchen zu tun, haben Silverlight und Adobe beide begrenzte Möglichkeiten in diesem Bereich. WebCams, Drucken in Silverlight 4.0 usw. Es ist jedoch nicht trivial. Silverlight 4.0 und Flash unterstützen beide Barcode-Scans.
Jeder Strichcode-Scanner, den ich je gesehen habe, funktioniert wie eine Tastatur, so dass er überall funktioniert, wo eine Tastatur ohne zusätzliche Einstellungen funktioniert. –
Die Geräte ähneln eher einem Scanner als einem Barcodeleser. – Upperstage