バーコード・スキャン         2021/08/01 Update

概要

このページでは、バーコード・スキャン機能の詳細について説明しています。
QRコードやバーコードなど様々なシンボルを、連続して読み取ることが可能です。

読取りデバイスは、カメラの他に外付けのバーコード・スキャナーにも対応しています。 また、OCRと同様な操作で、バーコード画像ファイルやクリップボードからも読み取ることが可能です。

画像ファイルとクリップボードからの読み取りについては、基本操作の「バーコード検出」を参照して下さい。





OCR




バーコードの種類

ここでは、カメラデバイスで読取り可能なバーコードのシンボル体系について説明します。 カメラデバイスでのデコード処理は、Windows 10に標準搭載されているソフトウェア・デコーダー(software decoder)で行われます。

 
1.ソフトウェア・デコード

読み取り可能なバーコードは、次のようになります。

  • Code 39
  • Code 128
  • Databar Omnidirectional
  • Databar Stacked
  • EAN-8
  • EAN-13
  • Interleaved 2 of 5
  • UPC-A
  • UPC-E
  • QRコード
  • GS1-DWCode(電子透かし)




2.QRコードについて

日本語等が含まれている文字情報で生成されたQRコードの場合、次の文字コードを読み取ることができます。 通常は、UTF-8を指定して下さい。Shift-JISの場合でも自動的に変換されます。
どうしても文字化けが解消されない様な場合は、明示的にShift-JISを指定してみて下さい。

  • UTF-8(既定値)
  • Shift-Jis









基本的な操作方法

各種バーコード読取りデバイスで共通となる、基本的な操作方法について説明します。


1.開始と停止

バーコード・スキャンの開始と終了方法は次の様になります。
カメラデバイスの場合は、開始後に読み取りたいバーコードを映像表示領域に映すだけです。

  • 開始: バーコード ボタンをクリックすることで開始する。
  • 終了: バーコード ボタンをクリックすることで終了する。
  • ショートカット・キー: 「B」で開始及び終了することができる。
    ただし、HIDキーボード接続を選択し開始した場合は、誤動作防止の為にショートカット・キーの操作を無効にしている。



2.スキャナー

スキャンを行うスキャナーデバイスを選択します。 カメラのプレビュー中でも切り替えることができます。
外付けのバーコード・スキャナーの場合もここで選択します。



3.履歴リスト

読取りに成功すると、履歴リストに追加されます。 既に履歴内に存在するバーコードを読み込ませた場合は、その旨のメッセージが表示され追加されません。 アプリを終了させると履歴は削除されます。履歴が必要な場合はアプリ終了前に保存するようにして下さい。

項目を選択すると、テキストボックスに項目のデータが表示されます。
リスト項目に表示される内容は、次の様になります。

  • タイムスタンプ: 読み取った日時
  • データ種別: データの内容に応じたアイコン表示
  • シンボル種類: バーコードの種類(HIDキーボード、シリアル通信時は非表示)
  • データ: 読み取ったデータ



4.履歴コマンド

履歴リストを操作するコマンドは、次の様になります。

  • ランチャー: バーコードから読み取ったデータに合わせて既定のアプリを起動する。
    現在対応しているプロトコルは、以下となります。
    URL(ブラウザで表示)、メール送信、座標(Googleマップで表示)、WiFi接続(ステルス対応)、日本の郵便コード(郵便番号検索を表示)、その他検索(Google検索)
  • コピー: 選択中の全項目をクリップボードにコピーする。(タイムスタンプ,データ種別,シンボル種類,データ)
  • 削除: 選択中の全項目を削除する。
  • 複数項目選択: 複数の項目を選択する。
  • 保存: 選択中の全項目をCSV形式で保存する。(タイムスタンプ,データ種別,シンボル種類,データ)



5.オプション

設定できるオプション項目は、次の様になります。

  • 画像の向き: カメラ映像の方向を設定する。(通常、ミラー)
  • 言語コード: 日本語などの文字情報を持つQRコード読み取り時に指定する。
    通常はUTF-8を指定することで、Shift-JISの場合でも自動的に変換される。(UTF-8, Shift-Jis)
  • タップでフォーカス: カメラデバイスが対応している時のみ設定できる。
  • エクスポート時のオプション: エクスポート対象にする項目の指定などが可能。











カメラデバイス

カメラデバイスにより、認識率が大幅に異なってきます。 ここでは、使用するカメラデバイスの注意点について説明します。


1.外付けのWEBカメラについて

USBなどで接続する外付けWEBカメラの多くは、バーコードの読取りには適していません。 これは、ビデオ通話などのライブ・ストリーム(Live stream)に最適化されているためです。
特に最近のWEBカメラは、映像を極端に明るくしたり広角にする傾向が強いです。 そのため、バーコードのように白と黒のコントラスがはっきりする被写体では、白飛びしやすくなります。(露出オーバー)
また、映像が湾曲して歪易く、オートフォーカス機能も非常に軟弱で、接写に弱いです。

どうしても外付けのWEBカメラを使用したい場合は、カメラの向きや照明などの明るさを調整してみて下さい。
認識率を向上させるには、カメラの解像度が高い方が良いです。 しかし、ネットショップなどで購入できるWEBカメラの多くは、公表されている数値と実際の品質が大きく乖離している場合が多いので注意が必要です。
(例:2Kや400万画素などを謳っていても、単純に小さい画像を拡大したような品質でノイズが多い)



2.お勧めのカメラ

バーコードを快適に認識させるには、タブレットや2 in 1等などのリアカメラを持つデバイスが最適です。 これらのカメラデバイスは、レンズの品質も良く、オートフォーカスやホワイトバランスの調整がしっかりしています。









HIDキーボード接続

USBやBluetoothを使用したHIDキーボード接続での操作方法について説明します。
ドライバー不要でメモ帳やExcel等のテキスト入力領域にも直接読み取り結果を入力できる接続方法です。 ほとんどのバーコード・スキャナーでは、既定の接続方法となっています。
OCR de PawSでは、単純な入力だけではなく自動的にリストに追加し、データ種別に応じたイベントを起動させることができます。

なお、漢字を含む日本語の入力に関しては、バーコード・スキャナー側の仕様に依存します。 文字化けを避けたい場合は、シリアル通信やHID-POS接続での利用を推奨します。


1.接続方法

バーコード・スキャナーと読み取り結果を入力させたいホストデバイス(PCやタブレット等)を、事前に次の様に接続して下さい。

  • USB接続: バーコード・スキャナーを「USB HIDキーボード」に設定後、ホストデバイスと接続する。 有線の場合はUSBケーブル、無線の場合はUSBドングルを使用する。
  • Bluetooth接続: バーコード・スキャナーを「Bluetooth HIDキーボード」に設定後、バーコード・スキャナーとホストデバイスをペアリングする。

また、バーコード・スキャナーのキーボード設定を、ホスト側のキーボードに合わせて下さい。
例)ホスト側で日本語キーボードを使用している場合は、日本語キーボードを設定する。

双方のデバイスでキーボード設定が一致していない場合は、文字化けの原因になるので注意して下さい。
NG例)バーコード・スキャナーの設定がUSAキーボードで、ホスト側が日本語キーボードの場合。   https:// -> https+//



2.読取り手順

① バーコード・スキャナーリストから「HIDキーボード」を選択し、「バー―コード」ボタンをクリックして下さい。

② 読み取り結果が入力されるテキストボックスにフォーカスし、カーソルをアクティブ状態にして下さい。

③ バーコード・スキャナーで読み取りを行うと、結果がリストに追加され、入力領域は自動的にクリアされます。



3.読取りタイムアウト

オプションパネルで読取りタイムアウトの設定を行うことが可能です。 時間を短くすることで、読取りが完了してからリストへ追加されるまでの時間を短縮させることができます。
使用するバーコード・スキャナーの読取り速度に合わせて調整して下さい。

既定値: 1000msec











シリアル通信

USBやBluetoothを使用したシリアル通信での操作方法について説明します。
バーコード・スキャナーの設定を、「USB仮想COM」または「Bluetooth SPP」にすることでシリアル通信を行うことが可能になります。


1.接続方法

バーコード・スキャナーと読み取り結果を入力させたいホストデバイス(PCやタブレット等)を、使用するインターフェースに合わせて次の様に接続して下さい。 なお、バーコード・スキャナー側の設定に関しては、メーカーが提供するマニュアルを参照して下さい。

  • USB接続: バーコード・スキャナーを「USB 仮想COM」に設定後、ホストデバイスと接続する。 有線の場合はUSBケーブル、無線の場合はUSBドングルを使用する。
  • Bluetooth接続: バーコード・スキャナーを「Bluetooth SPP」に設定後、バーコード・スキャナーとホストデバイスをペアリングする。

接続に成功したCOMポート番号は、次の方法で確認できます。
「コントロールパネル」>「デバイスとプリンター」
画像の例では、コントロールパネルの表示方法を「大きいアイコン」にしています。

カテゴリがディスプレイとして認識されていますが、バーコード・スキャナー毎に異なるため無視して構いません。 次の画像に表示されているデバイス名は、Honeywell Xenon HD1902-SRをBluetooth SPPで接続した時の名称です。

デバイスを選択し右クリックでプロパティを表示します。 「ハードウェア」タブに表示されているCOM名が接続先のポート番号になります。
画像の例では、「COM5」がポート番号(名称)です。

OCR de PawSのシリアル通信接続パネルのポート名(接続先)リストには、次の様に表示されます。
「デバイス名」 or 「デバイス名(COM名)」



2.読取り手順

① バーコード・スキャナーリストから「シリアル通信」を選択し、「バー―コード」ボタンをクリックして下さい。

② シリアル通信の設定パネルで接続するポート名を選択します。

③ ボー・レート等の設定値は、バーコード・スキャナー側の設定値と合わせる必要があります。 設定値が不明な場合は、とりあえず既定値のままで試してみて下さい。
フロー制御を設定する場合は、「RTS/CTS」がお勧めです。(バーコード・スキャナー側が対応している場合)

④ バーコード・スキャナーの電源がアクティブになっていることを確認し、接続ボタンをクリックして下さい。

⑤ バーコード・スキャナーで読み取りを行うと、結果がリストに追加されます。



3.読取りタイムアウト

オプションパネルで読取りタイムアウトの設定を行うことが可能です。 時間を短くすることで、読取りが完了してからリストへ追加されるまでの時間を短縮させることができます。
使用するバーコード・スキャナーの読取り速度に合わせて調整して下さい。

既定値: 1000msec



4.スリープによる切断

バーコード・スキャナーがスリープ状態になると、アプリは通信停止状態であることを検知し切断します。 これは、不要なリソースを解放するエコ仕様として設計しているためです。
切断時はメッセージを表示し、シリアル通信の接続パネルが表示されます。 再開する場合は、バーコード・スキャナーをアクティブ(スリープから復帰させる)にし、再接続を行って下さい。











HID-POS接続

USBを使用したHID-POS接続での操作方法について説明します。
バーコード・スキャナーの設定を、「USB HID-POS」にすることでHID-POSによる通信が可能になります。 バーコード・スキャナーがHID-POSに対応している場合は、簡単な接続と読取りデータの高速通信が可能になります。


1.接続方法

バーコード・スキャナーと読み取り結果を出力させたいホストデバイス(PCやタブレット等)を、事前に次の様に接続して下さい。

  • USB接続: バーコード・スキャナーを「USB-HID」に設定後、ホストデバイスと接続する。 有線の場合はUSBケーブル、無線の場合はUSBドングルを使用する。

接続に成功すると、デバイスマネージャーの「POS Barcode Scanner」ノード(node)に「POS HID バーコードスキャナー」として表示されます。

OCR de PawSのバーコード・スキャナーリストに表示される名称については、次のWindows 10の設定アプリで確認できます。
「デバイス」>「Bluetoothとその他のデバイス」>「その他のデバイス」に表示されます。
次の画像に表示されている名称は、Honeywell Xenon HD1902h-HD接続時の名称です。



2.読取り手順

① バーコード・スキャナーリストから「認識されたデバイス名」を選択し、「バーコード」ボタンをクリックして下さい。

② バーコード・スキャナーで読み取りを行うと、結果がリストに追加されます。











HID-POSとSPP-SSI対応機器

USBインターフェースの「HID-POS」とBluetoothの「SPP-SSI」に対応したデバイスを紹介します。 Microsoftが2018年6月時点で確認しているデバイスのみ記載しています。

なお、Bluetooth SPP-SSI(Serial Port Protocol - Simple Serial Interface)は、SPPの拡張プロトコルです。 Microsoftでの呼称は、「SPP-SSI」ですが、メーカーによっては異なる呼称になります。 「SPP-SSI」対応デバイスでの動作は未確認ですが、対応している場合は「HID-POS」と同様に、 OCR de PawSのバーコード・スキャナー選択リストにデバイス名が表示されると思います。 表示されない場合は、通常の「SPP(シリアル通信)」プロトコルとなるので間違わないようにして下さい。


HID-POSとSPP-SSI対応デバイス一覧

(*1)アップグレードで2Dに対応
(*2)ファームウェアの更新が必要











QRコードの作成

このアプリには、QRコードの生成機能を搭載していません。 そこで、安全なQRコードの作成方法を紹介します。
PC上で利用できるネイティブアプリでは、文字化けしたり、WiFi接続等に対応していないかったりするものが多いです。 WEBアプリでは、文字化けしないで作成できるサイトも存在しますが、サーバーにデータを渡すものがほとんどです。 そのため、個人情報が特定されるデータの入力はお勧めできません。 そのような場合は、次の方法を試してみて下さい。


1.信頼出来るサイトで仮のデータを作成する

WEBサイトで、適当なデータを入力して作成します。
お勧めのWEBサイトは、Zxing(バーコードのエンコーダー/デコーダー)というオープンソース・ライブラリを提供している本家のページです。 最も多く使用されているライブラリで、OCR de PawSでも画像ファイルやクリップボードからの読み取り機能で採用しています。

https://zxing.appspot.com/generator

上記サイトで、適当なデータを入力して作成します。 ここでは、WiFi接続用のQRコード作成の例を説明します。

Wifi networkを選択後、画像の様に入力し、Generateを実行して下さい。
「hidden」オプションは、WiFiのSSIDをステルスモードに設定している場合に選択して下さい。

生成後、赤枠内のテキストデータをコピーして下さい。



2.ネイティブアプリで再生成する

Micosoftストアから、「QRコード」等で検索しQRコードを生成できるアプリを探して下さい。 多機能なアプリは不要です。 テキストデータから生成できるアプリであれば大丈夫です。

アプリに、コピーしたデータを貼り付け、SSIDとパスワードの文字をユーザー自身のデータに置き換えます。
最後に、QRコードを生成すれば完了です。