Conversion de langages d'imprimante
Convertir ZPL en SBPL : migrer des étiquettes de Zebra vers des imprimantes SATO
Équivalences ZPL → SBPL de SATO, la structure en séquences d'échappement de SBPL, les différences de polices et de codes-barres, un exemple avant/après et une liste de contrôle pour les lignes agroalimentaires et pharma.
Les imprimantes SATO dominent la transformation alimentaire, le conditionnement pharmaceutique et les usines à capitaux japonais, et elles parlent SBPL — un langage construit sur des séquences ESC plutôt que sur les commandes à accent circonflexe de ZPL. Une usine qui achète des SATO pour une nouvelle ligne tout en gardant des Zebra au quai finit avec deux copies de chaque étiquette, sauf si le design est indépendant du langage.
Équivalences de commandes
| Opération | ZPL (Zebra) | SBPL (SATO) |
|---|---|---|
| Début / fin | ^XA … ^XZ | <ESC>A … <ESC>Z |
| Taille de l'étiquette | ^PW812 ^LL609 | <ESC>A1 0609 0812 (hauteur, largeur en points) |
| Position d'un champ | ^FO40,30 | <ESC>H0040 <ESC>V0030 |
| Texte | ^A0N,36,36 ^FDBonjour^FS | <ESC>L0202 <ESC>XU Bonjour (police + grossissement) |
| Code 128 | ^BY2 ^BCN,90,Y,N,N ^FDdonnées^FS | <ESC>BG02090 données (barre étroite 2, hauteur 90) |
| Code QR | ^BQN,2,6 ^FDQA,données^FS | <ESC>2D30,L,06,0,0 <ESC>DN0004,données |
| Ligne / cadre | ^GB300,2,2^FS | <ESC>FW02H0300 (ligne) / <ESC>FW0202V0100H0300 (cadre) |
| Copies | ^PQ5 | <ESC>Q5 |
| Noirceur / vitesse | ^MD10 ^PR4 | <ESC>#E3 <ESC>CS4 |
| Rotation | ^FWR ou lettre d'orientation | <ESC>%1 (90°), %2 (180°), %3 (270°) |
<ESC> est le caractère d'échappement (hex 1B). Les commandes SBPL sont des séquences ESC suivies d'une lettre et de paramètres numériques à largeur fixe — les positions ont toujours quatre chiffres, d'où 40 devient 0040.
Ce qui change réellement
- Structure : SBPL fixe une position avec H/V une fois puis imprime l'objet ; la position persiste pour la commande suivante sauf changement. ZPL repositionne chaque champ. Une traduction naïve oublie de réinitialiser H/V et empile les champs les uns sur les autres.
- Polices : XU/XS/XM/XB/XL de SBPL sont des polices bitmap à grossissement L entier ; les polices vectorielles (ESC RD ou ESC $) donnent un texte plus proche du ^A0 de ZPL. Le texte japonais ou chinois utilise des commandes de police dédiées sans équivalent ZPL.
- Codes-barres : la commande B encode symbologie, barre étroite et hauteur dans un seul code (BG = Code 128) ; les ratios sont fixes par symbologie et non libres comme ^BY. Le texte lisible doit être ajouté comme champ de texte séparé.
- Ordre de la taille : A1 de SBPL prend la hauteur puis la largeur — l'inverse de l'habitude ZPL de penser d'abord la largeur.
- Encodage des caractères : ZPL est essentiellement ASCII avec ^CI pour les pages de code ; les modèles SATO japonais sont en Shift-JIS par défaut. Les accents des étiquettes en français ou en espagnol exigent une page de code déclarée explicitement.
Avant et après
^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
Les chiffres lisibles sous le code-barres ont dû être ajoutés en ligne de texte explicite — ZPL les imprimait automatiquement avec l'indicateur Y.
Liste de contrôle de migration
- Confirmer la résolution du modèle SATO et s'il exécute SBPL ou le SBPL plus récent avec AEP — certaines commandes diffèrent.
- Valider la sortie GS1-128 et GS1 DataMatrix avec un vérificateur ; SATO gère FNC1 avec d'autres codes d'échappement.
- Définir la page de code pour les caractères accentués et tester les lignes d'allergènes dans chaque langue imprimée.
- Garder la version ZPL active pour les Zebra du quai.
Comment EtikStudio procède
Le design est conservé en unités physiques ; l'export vers un profil SATO génère les séquences SBPL avec les positions réinitialisées pour chaque objet, des polices appariées par taille imprimée, des codes-barres construits avec les bons codes de symbologie et FNC1, et la ligne lisible générée depuis le même champ de données. Des clients de l'agroalimentaire et de la pharma exploitent Zebra et SATO côte à côte depuis une seule bibliothèque.
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.