SBPLからZPLへの変換:SATOのラベルジョブをZebraプリンタへ
SATO SBPLとZPLの対応、SBPLの持続的な位置指定をZPLフィールドに展開する方法、フォントとバーコードの対応付け、実例。
SBPLジョブは通常、国内設計のERPモジュールかSATO自身のツールから来ており、読みにくいものです:エスケープシーケンス、4桁の座標、オブジェクトから次のオブジェクトへ引き継がれる位置。ZPLへの変換は主に暗黙を明示にすることです — 各フィールドが独自の^FO、独自のフォント、独自の^FSを持ちます。
コマンド対応表
| 操作 | SBPL(SATO) | ZPL(Zebra) |
|---|---|---|
| 開始/終了 | <ESC>A … <ESC>Z | ^XA … ^XZ |
| ラベルサイズ | <ESC>A1 0609 0812(高さ、幅:ドット) | ^PW812 ^LL609 |
| フィールド位置 | <ESC>H0040 <ESC>V0030 | ^FO40,30 |
| テキスト | <ESC>L0202 <ESC>XU Hello(フォント+拡大率) | ^A0N,36,36 ^FDHello^FS |
| Code 128 | <ESC>BG02090 data(細バー2、高さ90) | ^BY2 ^BCN,90,Y,N,N ^FDdata^FS |
| QRコード | <ESC>2D30,L,06,0,0 <ESC>DN0004,data | ^BQN,2,6 ^FDQA,data^FS |
| 線/枠 | <ESC>FW02H0300(線)/ <ESC>FW0202V0100H0300(枠) | ^GB300,2,2^FS |
| 枚数 | <ESC>Q5 | ^PQ5 |
| 濃度/速度 | <ESC>#E3 <ESC>CS4 | ^MD10 ^PR4 |
| 回転 | <ESC>%1(90°)、%2(180°)、%3(270°) | ^FWRまたは向き文字 |
注意すべき点
- 位置:ジョブ全体でHとVを追跡する。Hを省略したSBPLオブジェクトは前の値を再利用する。各ZPLの^FOには解決済みの絶対位置を渡す必要がある。
- フォント:SBPLビットマップフォント+L拡大率 → フォント基本サイズ×拡大率から高さを計算したZPL ^A0。アウトラインフォントはより直接的に対応する。
- バーコードコード:BG → ^BC(Code 128)、BD → ^BE/^B8(EAN)、BC → ^B3(Code 39)、2D30 → ^BQ、2D50 → ^BX。高さはどちらもドット。
- 別のSBPLテキストとして追加した可読行は、^BCが自ら印刷するため冗長になる。削除するか、残してYフラグをNにする。
- 日本語テキスト:漢字フォントコマンドは、ダウンロードしたTrueTypeフォントとUnicode(^CI28)経由を除きZPLに相当物がない。
変換前と変換後
<ESC>A <ESC>A1 0406 0609 <ESC>H0030 <ESC>V0020 <ESC>L0202 <ESC>XS Amoxicillin 250 mg <ESC>V0060 <ESC>L0101 <ESC>XS Lot B8297K <ESC>V0100 <ESC>BG02070 7601234567834 <ESC>Q1 <ESC>Z
^XA ^PW609 ^LL406 ^FO30,20 ^A0N,30,30 ^FDAmoxicillin 250 mg^FS ^FO30,60 ^A0N,18,18 ^FDLot B8297K^FS ^FO30,100 ^BY2 ^BCN,70,Y,N,N ^FD7601234567834^FS ^PQ1 ^XZ
2番目と3番目のSBPLオブジェクトはHを設定していません:最初の0030を継承しています。ZPL版は毎回明示します。
EtikStudioでの方法
SBPLインタプリタは持続的な位置、フォント、拡大率をプレーンな視覚デザインに解決します。そこからのZPLエクスポートは他のデザインと同じで、バーコードと可読テキストは1つのフィールドから再構築されます。
コマンド例は分かりやすさのため簡略化しています。正確な構文はプリンタの機種とファームウェアにより異なります。必ず対象プリンタでテストしてください。