ZPLからSBPLへの変換:ラベルをZebraからSATOプリンタへ移行
ZPLとSATO SBPLのコマンド対応、SBPLのエスケープシーケンス構造、フォントとバーコードの違い、変換前後の例、食品・製薬ライン向けチェックリスト。
SATOプリンタは食品加工、医薬品包装、日系工場で主流であり、SBPL — ZPLのキャレットコマンドではなくESCシーケンスで構成された言語 — を話します。新ラインにSATOを導入しつつドックにZebraを残す工場は、デザインが言語非依存でない限り、すべてのラベルを2部ずつ抱えることになります。
コマンド対応表
| 操作 | ZPL(Zebra) | SBPL(SATO) |
|---|---|---|
| 開始/終了 | ^XA … ^XZ | <ESC>A … <ESC>Z |
| ラベルサイズ | ^PW812 ^LL609 | <ESC>A1 0609 0812(高さ、幅:ドット) |
| フィールド位置 | ^FO40,30 | <ESC>H0040 <ESC>V0030 |
| テキスト | ^A0N,36,36 ^FDHello^FS | <ESC>L0202 <ESC>XU Hello(フォント+拡大率) |
| Code 128 | ^BY2 ^BCN,90,Y,N,N ^FDdata^FS | <ESC>BG02090 data(細バー2、高さ90) |
| QRコード | ^BQN,2,6 ^FDQA,data^FS | <ESC>2D30,L,06,0,0 <ESC>DN0004,data |
| 線/枠 | ^GB300,2,2^FS | <ESC>FW02H0300(線)/ <ESC>FW0202V0100H0300(枠) |
| 枚数 | ^PQ5 | <ESC>Q5 |
| 濃度/速度 | ^MD10 ^PR4 | <ESC>#E3 <ESC>CS4 |
| 回転 | ^FWRまたは向き文字 | <ESC>%1(90°)、%2(180°)、%3(270°) |
<ESC>はエスケープ文字(16進1B)です。SBPLコマンドはESCの後に1文字と固定幅の数値パラメータが続く形式で、位置は常に4桁です。だから40は0040になります。
実際に変わるもの
- 構造:SBPLはH/Vで位置を一度設定してからオブジェクトを印刷し、変更しない限りその位置は次のコマンドにも引き継がれます。ZPLは各フィールドで位置を指定し直します。素朴な翻訳はH/Vのリセットを忘れ、フィールドを重ねてしまいます。
- フォント:SBPLのXU/XS/XM/XB/XLは整数のL拡大率を持つビットマップフォントです。アウトラインフォント(ESC RDまたはESC $)はZPLの^A0に近いスケーラブルテキストを提供します。日本語・中国語テキストはZPLに相当物のない専用フォントコマンドを使います。
- バーコード:Bコマンドはシンボル、細バー、高さを1つのコードにまとめます(BG = Code 128)。比率は^BYのように自由ではなくシンボルごとに固定です。可読文字は別のテキストフィールドとして追加する必要があります。
- ラベルサイズの順序:SBPLのA1は高さ、次に幅の順 — 幅から考えるZPLの習慣とは逆です。
- 文字エンコーディング:ZPLは主にASCIIでコードページは^CIで指定します。SATOの国内モデルは既定でShift-JISです。スペイン語やフランス語ラベルのアクセント付き文字にはコードページの明示的な設定が必要です。
変換前と変換後
^XA ^PW812 ^LL609 ^FO40,30 ^A0N,36,36 ^FDSafety Harness^FS ^FO40,130 ^BY2 ^BCN,90,Y,N,N ^FD7501234567893^FS ^PQ1 ^XZ
<ESC>A <ESC>A1 0609 0812 <ESC>H0040 <ESC>V0030 <ESC>L0202 <ESC>XU Safety Harness <ESC>H0040 <ESC>V0130 <ESC>BG02090 7501234567893 <ESC>H0040 <ESC>V0230 <ESC>L0101 <ESC>XS 7501234567893 <ESC>Q1 <ESC>Z
バーコードの下の可読数字は明示的なテキスト行として追加する必要がありました — ZPLはYフラグで自動的に印刷していました。
移行チェックリスト
- SATOモデルの解像度と、SBPLかAEP搭載の新しいSBPLかを確認する — 一部コマンドが異なる。
- GS1-128とGS1 DataMatrixの出力を検証機で確認する。SATOのFNC1処理は異なるエスケープコードを使う。
- アクセント付き文字のコードページを設定し、印刷するすべての言語でアレルゲン行をテストする。
- ドックのZebra機向けにZPL版を維持する。
EtikStudioでの方法
デザインは物理単位で保持されます。SATOプロファイルへのエクスポートは、オブジェクトごとに位置をリセットしたSBPLシーケンス、印刷サイズで照合したフォント、正しいシンボルコードとFNC1で構築したバーコード、同じデータフィールドから生成した可読行を生成します。食品・製薬の顧客は1つのライブラリからZebraとSATOを並行運用しています。
コマンド例は分かりやすさのため簡略化しています。正確な構文はプリンタの機種とファームウェアにより異なります。必ず対象プリンタでテストしてください。