Conversion de langages d'imprimante
Convertir IPL en ZPL : migrer les formats d'étiquettes Intermec vers des imprimantes Zebra
En quoi le modèle format/données d'Intermec IPL diffère du ZPL, comment les formats stockés et les données de champs deviennent un seul travail ZPL, un exemple commenté et une liste de contrôle pour retirer les PM4i, PX4i et 3400.
Les imprimantes Intermec (PM4i, PX4i/PX6i, séries 3400/4400) ont été pendant des années les bêtes de somme de la production et de la distribution, et IPL ne ressemble à rien d'autre : la mise en page est un format stocké défini une fois, et chaque travail d'impression n'envoie que les données de ses champs. Quand ces imprimantes sont retirées au profit de Zebra, les deux moitiés — le format dans l'imprimante et le flux de données dans l'ERP — doivent être combinées en travaux ZPL autonomes.
En quoi les deux modèles diffèrent
| Concept | IPL (Intermec) | ZPL (Zebra) |
|---|---|---|
| Mise en page | Format stocké : <STX><ESC>P;E1;F1;… champs …;R;<ETX> | En ligne dans chaque travail entre ^XA et ^XZ (ou stocké avec ^DF / rappelé avec ^XF) |
| Champ texte | H0;o100,100;f0;c20;h2;w2;d0,30 (champ, origine, police, hauteur/largeur, longueur des données) | ^FO100,100 ^A0N,36,36 ^FN1 ^FS |
| Champ code-barres | B1;o100,300;c6;h60;w2;d0,20 (c6 = Code 128) | ^FO100,300 ^BY2 ^BCN,60,Y,N,N ^FN2 ^FS |
| Impression avec données | <STX><ESC>E1<ETX> <STX><CAN><ETX> <STX>données1<CR>données2<CR><ETX> <STX><ETB><ETX> | ^XA ^XFFORMAT ^FN1^FDdonnées1^FS ^FN2^FDdonnées2^FS ^XZ |
| Unités | points (certains modèles 1/100 in) | points |
Ce qui change réellement
- Il vous faut les deux artefacts : la définition du format (souvent chargée dans l'imprimante il y a des années et jamais stockée ailleurs) et un flux de données échantillon. Relisez le format depuis l'imprimante avec la commande d'upload avant sa mise hors service.
- L'ordre des champs est positionnel : les lignes de données sont associées aux champs par séquence, donc le travail ZPL doit attribuer les numéros ^FN dans l'ordre où l'ERP envoie les valeurs.
- Polices : les codes de police IPL (f0–f7 bitmap, f20+ vectoriel) se rapportent à ^A0 par taille mesurée ; les multiplicateurs de hauteur/largeur IPL sont entiers.
- Codes de codes-barres : c0 Code 39, c1 Code 93, c2 Interleaved 2 of 5, c5 UPC/EAN, c6 Code 128, c8 PDF417 (variable selon le modèle) → la commande ^B correspondante.
- Caractères de contrôle : les travaux IPL sont encadrés par STX/ETX et utilisent CR entre les champs ; ils doivent être supprimés, pas traduits.
Avant et après (simplifié)
<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
Liste de contrôle de migration
- Exporter chaque format stocké de chaque imprimante Intermec avant de l'éteindre ; c'est souvent la seule copie.
- Associer chaque format à un flux de données capturé pour savoir quels champs sont variables et dans quel ordre.
- Décider de conserver la séparation format/données en ZPL (^DF/^XF avec ^FN) pour que l'intégration ERP change à peine, ou de passer à des travaux entièrement en ligne.
- Vérifier les codes-barres sur la Zebra ; les têtes Intermec et Zebra diffèrent en gain de point.
Comment EtikStudio procède
Importez ensemble le format IPL et un flux de données échantillon ; l'interpréteur les fusionne en un design visuel où les champs de données sont marqués comme variables dans l'ordre de l'ERP. Exportez ensuite du ZPL en travaux en ligne ou en format ^DF stocké avec champs ^FN, selon ce qui garde votre intégration la plus simple.
Les exemples de commandes sont simplifiés pour la clarté ; la syntaxe exacte varie selon le modèle et le firmware. Testez toujours sur l'imprimante cible.