日本発のオープンソース receiptline でレシート印刷に少しずつトライしています。
ネットオークションやフリマアプリでレシートプリンターを探していましたが・・・
とうとう何台か落札することができました!
まだ手元にないので、前回利用した開発ツールを引き続き使います。
今回はバーコードと QR コードです。
バーコード
バーコードアイコンをクリックすると、ダイアログボックスが開きます。
適当にデータを入れて、サイズと可読文字の有無を選びましょう。
ここは無難にデフォルト設定の CODE128 にしておきます。
CODE128 は「〇〇 Pay」のバーコードに使われているそうです。
キャンセルしたいときは、ダイアログボックスの外をクリックします。
編集エリアに code プロパティと option プロパティが追加されました。
code プロパティは、バーコードを出力します。
名前は code
または c
、値はバーコードデータです。
option プロパティは、この行以降のバーコードを設定します。
名前は option
または o
、値はバーコードオプションです。
複数のオプション値は ,
or 1 つ以上のスペースで区切ります。
{code:WIND402; option:code128,2,72,hri}
QR コード
二次元コードアイコンをクリックすると、ダイアログボックスが開きます。
二次元コードは QR コードのみです。
適当にデータを入れて、サイズと誤り訂正レベルを選択します。
キャンセルしたいときは、ダイアログボックスの外をクリックします。
編集エリアに code プロパティと option プロパティが挿入されました。
二次元コードのプロパティはバーコードと同じです。
option プロパティの値は QR コード用になっていますね。
{code:Do it! Make it! Shake it!; option:qrcode,5,M}
バーコードの位置揃え
文字列と同様に、テーブルの区切り文字 |
で位置揃えができます。
バーコードと QR コードを、左揃えと右揃えにしてみます。
code プロパティと option プロパティを分離して、短縮名を使います。
また、クワイエットゾーンが必要なので、間隔を1行ずつ空けることにします。
{o:code128,2,72,hri}
|{c:WIND402}
{c:WIND402}|
=
{o:qrcode,5,M}
|{c:Do it! Make it! Shake it!}
{c:Do it! Make it! Shake it!}|
ちなみに、バーコードと QR コードは、2 列にしたり罫線を引いたりすることができません。
この制約はレシートプリンターのコマンド仕様に由来するようです。
バーコードの種類
code プロパティと option プロパティの対応をまとめました。
種類 | option | code | 使い道 |
---|---|---|---|
CODE128 | code128 | ASCII 文字列 | コード決済 |
CODE93 | code93 | ASCII 文字列 | ??? |
NW-7 (Codabar) |
nw7 codabar |
数字と一部の記号 (先頭と末尾は ABCD) |
宅配伝票 |
ITF (Interleaved 2 of 5) |
itf | 偶数桁の数字 | 段ボール箱 |
CODE39 | code39 | 英数字と一部の記号 | 現品票 |
JAN (EAN) |
jan ean |
13 桁の数字 8 桁の数字 |
商品 |
UPC-A UPC-E |
upc | 12 桁の数字 7 桁の数字 |
北米の商品 |
QR Code | qrcode | ASCII 文字列 漢字 |
続きは Web で |
次回は、変換ライブラリの API を試してみようと思います。