私は2Dバーコードスキャナー(Honeywell Xenon 1900)を持っています。
スキャナーがキーボードイベントをエミュレートし、プレーンテキストを送信するため、1Dバーコードのスキャンは簡単です。
しかし、PDF417形式の2Dバーコードをスキャンすると、スキャナーはバイナリデータを送信します。このデータをキャプチャしてデコードするにはどうすればよいですか?一部の記号は印刷できないため、Webページのフォームにスキャンしても機能しません。
私は2Dバーコードスキャナー(Honeywell Xenon 1900)を持っています。
スキャナーがキーボードイベントをエミュレートし、プレーンテキストを送信するため、1Dバーコードのスキャンは簡単です。
しかし、PDF417形式の2Dバーコードをスキャンすると、スキャナーはバイナリデータを送信します。このデータをキャプチャしてデコードするにはどうすればよいですか?一部の記号は印刷できないため、Webページのフォームにスキャンしても機能しません。
この質問に対する私の解決策は、COM ポートを使用することです。
スキャナーを構成して、キーボードイベントとしてではなく、仮想 COM ポートでデータを送信するようにします。次に、このポートをリッスンする Java アプレットがあります (RXTX を使用)。次に、COMポートは空ではありません。データを取得して解析できます。
この Java と JavaScript にタグを付けました。しかし、あなたはアプリケーションの詳細をまったく教えてくれませんでした。それにもかかわらず、JavaScript でのバイナリ データの転送の処理は、base64 プロトコルを使用して行うことができます。との 2 つの方法btoa()
を使用しatob()
ます。
function toBase64 () {
return window.btoa(data);
}
function fromBase64 (strBase64){
data = window.atob(strBase64);
}
ただし、あなたのコンセプトは、データをjavascript/html/webアプリケーションに転送する前にbase64
エンコードすることだと思います(あなたが何をしているのかを詳細に説明していないので推測しています) 。あなたはJavaを使ってこれを行うと思います。base64 でエンコードされたデータを Web アプリケーションに送信すると、非常に簡単に処理できます。