ブラウザからクライアントPCのデバイスにアクセスする方法
-
24-09-2019 - |
質問
クライアントPCでデバイスにアクセスするさまざまな方法(バーコードリーダー、スキャナーなど)はブラウザーから何ですか?ユーザーがプラグインが必要になる場合があることに気付きました。これらのデバイスには、デバイスに固有のAPIがある場合があります。利用可能な場合は、APIを悪用したいと思います(たぶんJava、C、おそらくコマンドライン)。
解決
a 署名 Javaアプレットは、ほとんどのものにプラットフォームに依存しないアクセスを持つことができます。ユーザーはJavaをインストールする必要があり、署名されたアプレットの実行を許可する必要があります。
にプラグインを書く場合 nsapi, 、彼らがそれをインストールすると、ユーザーがアクセスできる本質的にアクセスできます。もちろん、プラグインをインストールする必要があります。
Flashは、デバイスに非常に多くのアクセスを提供します。
他のヒント
これは些細なことではなく、標準化されたAPIはありません(Internet Explorerに限定されているJScript/ActiveX領域を除く)。
Twainインターフェイスを介してスキャナーにアクセスするには、チェックアウトしてください この質問 私が知っている一般的に利用可能なすべてのオプションについて。
他のほとんどのことは、カスタムプログラムされたActive-Xおよびその他のプラグインにかかっています。私はSOで議論されている商用バーコードスキャナープラグインを見てきましたが、今は質問が見つかりません。
多くのバーコードリーダーをキーボードとPCの間に挿入できるため、スキャンされたバーコードはキーボードバッファーに直接入ります。他のデバイスは、シリアルポートに接続するか、シリアルポートをエミュレートするドライバーがあります。次のPythonコードは、実際のCOMポートまたは仮想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はどちらもこの分野でいくつかの限られた機能を持っています。 Webカメラ、Silverlight 4.0などでの印刷など。ただし、自明ではありません。 Silverlight 4.0とFlashの両方がバーコードスキャンをサポートします。