なんとなくUSBタイプのバーコードスキャナを買ってみました。
バーコードスキャナの実体は単なるUSBキーボードですので、iPad等でもLightning to USBアダプタ経由で利用可能です。
バーコードの生成は様々なソフトウェアで生成出来ますのであまり困ることはありませんが、自分は python-barcode を使用しました。
python-barcodeは様々なバーコードを生成出来ますが、ここではEANを試しています。
import barcode
from barcode.writer import ImageWriter
bc_ean = barcode.get_barcode_class("ean")
bc_ean("200123456789", writer=ImageWriter()).save("filename")
使用できるのは12文字の0-9までの数字となります。
自分で使う分には、好き勝手な番号を設定すれば良いのですが、JANコード等のルールに沿うと先頭は国コードを入れる事になっています。
日本の国コードとしては450〜459, 490〜499が割り当てられており、実際には国コードを含めて7桁か9桁の企業コードとして利用されています。
ルールに沿うと、国内において好きな数値を利用するには、先頭を20〜29までの範囲の数値にする事で、インストアマーキングとして利用可能です。
というわけで、使用できるのは12桁中10桁の範囲となります。
印刷サイズについて
バーコードは印刷サイズに制限があり、一番細い幅が0.33mmという決まりがあり、縮小したくても 0.8倍率までという決まりがあります。
手元のレーザープリンタで出力させたものを読み込んでみたところ、全体の幅が20mmを切るとかなり読み取りが怪しくなりました。