QRコード印刷サンプル |
先ず、1 次元バーコードの時と同様に、プリンターの持っているコマンドをプリンターに送信し、プリンター内部で QRコードを作製して印刷する方式が考えられます。それには、どのような点に注意して、どのようにすれば良いでしょうか?
QRコードの"コマンド"と言いましたが、実は、QRコードを印刷するための"SCSコマンド"はありません。それが、APW で対応していないことの大きな理由となっています。逆に言うと、インパクト・プリンターなら、"5577モード"、レーザー・プリンターなら"PAGESモード"の中に、QRコードのコマンドがあるということです。
コマンドそのもののは、1次元コードのコマンドと同様に、
- 1B 7E 40(バーコード印字形式設定)コマンド
によって、QRコードであること、QRコードの大きさを指定し、次に
- 1B 7E 42(バーコード印字)コマンド
によって、印刷位置と格納するデータを指定するという構成です。
なお、QRコードの中に格納するデータの文字コードは、英数文字ならUS-ASCII、漢字ならShift-JISになります。
これらのコマンドやデータを、AS/400 上のアプリケーションからプリンターに送信できる接続方法と対応プリンターの組み合わせを整理すると、次のようになります。
1. PCOMM プリンター・セッション経由のPDT印刷
キャラクター・モードを使って、バーコード・コマンドをアプリケーション内に組み込みます。
インパクト・プリンターなら、5577系、レーザー・プリンターなら、PAGES系のプリンターは、キャラクター・モードにも、QRコードのコマンドにも対応していますので、使用可能です。
サンプル・コードをこちら(5577系, PAGES系)で公開していますので、ご参照ください。
しかし、5400系のライン・プリンターは、キャラクター・モードに対応していません。
2. HPT(ホスト印刷変換機能)を使った LAN 直結印刷
プリンター・セッション経由のPDT印刷と同様です。キャラクター・モードを使って、QRコード用のバーコード・コマンドをアプリケーションから発行するようにします。
3. Telnet5250Eを使った LAN 直結印刷
5400系のライン・プリンターでも、5577モードでは、QRコードを印刷するコマンドを持っていますが、5577系と異なり、キャラクター・モードに対応していませんから、同じ方法は使用できません。
しかし、Telnet5250E 接続の機能の中で、透過モードをサポートしていますので、これを使ってコマンドを送信するようにアプリケーションを組めば、通常の接続方法の下で、QRコードを印刷することができます。
ただ、以上のご説明でお分かりのように、プリンターにコマンドを送信してQRコードを印刷させるには、アプリケーションのプログラミングに大きな手間が掛かります。
そこで、次回は、プログラミングの手間の掛からない方法をご紹介します。
0 件のコメント:
コメントを投稿