IPLからZPLへの変換:IntermecのラベルフォーマットをZebraプリンタへ移行
Intermec IPLのフォーマット/データモデルとZPLの違い、保存フォーマットとフィールドデータを単一のZPLジョブにまとめる方法、実例、PM4i・PX4i・3400退役のチェックリスト。
Intermecプリンタ(PM4i、PX4i/PX6i、3400/4400シリーズ)は長年、製造と流通の主力でした。IPLは他のどれとも違います:ラベルレイアウトは一度定義した保存フォーマットで、各印刷ジョブはそのフィールドのデータだけを送ります。これらのプリンタをZebraに置き換えるとき、両方の半分 — プリンタ内のフォーマットとERPのデータストリーム — を自己完結したZPLジョブに結合しなければなりません。
2つのモデルの違い
| 概念 | IPL(Intermec) | ZPL(Zebra) |
|---|---|---|
| レイアウト | 保存フォーマット:<STX><ESC>P;E1;F1;… フィールド …;R;<ETX> | 各ジョブ内の^XAと^XZの間にインライン(または^DFで保存/^XFで呼び出し) |
| テキストフィールド | H0;o100,100;f0;c20;h2;w2;d0,30(フィールド、原点、フォント、高さ/幅、データ長) | ^FO100,100 ^A0N,36,36 ^FN1 ^FS |
| バーコードフィールド | B1;o100,300;c6;h60;w2;d0,20(c6 = Code 128) | ^FO100,300 ^BY2 ^BCN,60,Y,N,N ^FN2 ^FS |
| データ付き印刷 | <STX><ESC>E1<ETX> <STX><CAN><ETX> <STX>data1<CR>data2<CR><ETX> <STX><ETB><ETX> | ^XA ^XFFORMAT ^FN1^FDdata1^FS ^FN2^FDdata2^FS ^XZ |
| 単位 | ドット(一部モデルは1/100 in) | ドット |
実際に変わるもの
- 両方の成果物が必要です:フォーマット定義(何年も前にプリンタにアップロードされ、他に保存されていないことが多い)とサンプルデータストリーム。廃棄前にアップロードコマンドでプリンタからフォーマットを読み戻してください。
- フィールド順序は位置依存です:データ行は順番でフィールドに対応付けられるため、ZPLジョブはERPが値を送るのと同じ順序で^FN番号を割り当てなければなりません。
- フォント:IPLフォントコード(f0〜f7ビットマップ、f20以上アウトライン)は実測サイズで^A0に対応付けます。IPLの高さ/幅倍率は整数です。
- バーコードコード:c0 Code 39、c1 Code 93、c2 Interleaved 2 of 5、c5 UPC/EAN、c6 Code 128、c8 PDF417(モデルにより異なる)→ 対応する^Bコマンド。
- 制御文字:IPLジョブはSTX/ETXで囲まれ、フィールド間にCRを使います。これらは翻訳ではなく除去する必要があります。
変換前と変換後(簡略化)
<STX><ESC>P;E1;F1;<ETX> <STX>H0;o40,30;f0;c20;h3;w3;d0,30;<ETX> <STX>B1;o40,130;c6;h90;w2;d0,20;<ETX> <STX>R;<ETX> <STX><ESC>E1<ETX><STX><CAN><ETX> <STX>Safety Harness<CR>7501234567893<CR><ETX> <STX><ETB><ETX>
^XA ^PW812 ^LL609 ^FO40,30 ^A0N,36,36 ^FDSafety Harness^FS ^FO40,130 ^BY2 ^BCN,90,Y,N,N ^FD7501234567893^FS ^PQ1 ^XZ
移行チェックリスト
- 電源を切る前にすべてのIntermecプリンタからすべての保存フォーマットをエクスポートする。唯一のコピーであることが多い。
- 各フォーマットを取得したデータストリームと対にし、どのフィールドが可変でどの順序かを把握する。
- ZPLでもフォーマット/データ分離(^DF/^XFと^FN)を維持してERP連携をほぼ変えないか、完全なインラインジョブに移行するかを決める。
- Zebraでバーコードを検証する。IntermecヘッドとZebraヘッドはドットゲインが異なる。
EtikStudioでの方法
IPLフォーマットとサンプルデータストリームを一緒にインポートすると、インタプリタがそれらを1つの視覚デザインに統合し、データフィールドをERPの順序で変数としてマークします。そこから、インラインジョブとして、または^FNフィールドを持つ保存^DFフォーマットとしてZPLをエクスポートします — 連携をより単純に保てる方を選べます。
コマンド例は分かりやすさのため簡略化しています。正確な構文はプリンタの機種とファームウェアにより異なります。必ず対象プリンタでテストしてください。