Sunday, July 29, 2012

バーコードリーダー

WEB型のPOSシステムを開発していますが、運用現場で読めないという問題に遭遇。最初は、バーコードの印刷精度による問題。うちのキヤノンLBPでは読めているコード番号を、別のメーカーの複写機では読めない。どうも単に出力解像度の問題だけでもなさそうで、結局これはUnix環境のGDライブラリーを使って画像でバーコードを生成する方法では綺麗に解決できないため、フォントを使った方法へ軌道修正。

ところが、フォントを利用する手段で楽天市場の注文番号を印刷すると、年号や店舗番号を省略しても80mmのカードリーダーでは読めない位に幅広コードになってしまい、注文番号による識別を断念して、うちのシステムで引用している内部識別番号に変更。

これで一件落着かと思えば、それでも読み込みエラーに遭遇。どうも最近のブラウザーに搭載されているauto-fill機能が邪魔をしているようで、Iceweaselを利用して動作検証していて確実に読めない状態が再現。FirefoxやChromeといった別のブラウザー環境では、問題に遭遇する頻度が違うようです。

とりあえず、本日の日本の営業時間に間に合うように、フォーム中のinput type=textにautocomplete="off"のアトリビュートを追記。これで抑制できなければ、name属性の定義をフォームが切り替わる毎に動的に変わるような工夫を挿入せざる得ないようです。

No comments:

Post a Comment