Conversione dei linguaggi di stampante
Convertire TSPL in ZPL: equivalenze dei comandi e guida alla migrazione (TSC → Zebra)
Come i comandi TSPL si traducono in ZPL, le insidie di unità, font e larghezze delle barre, un'etichetta reale prima/dopo e come portare una libreria TSC su stampanti Zebra.
La migrazione inversa avviene quando un'azienda standardizza le linee industriali su Zebra, eredita etichette TSC da un'acquisizione o deve consegnare ZPL perché il WMS di un cliente lo invia direttamente alla stampante. TSPL è un linguaggio più leggibile, quindi la traduzione verso ZPL consiste soprattutto nel rispettare la struttura più rigida di ZPL: tutto dentro ^XA…^XZ, ogni campo aperto con ^FO e chiuso con ^FS.
Equivalenze dei comandi
| Operazione | TSPL (TSC) | ZPL (Zebra) |
|---|---|---|
| Inizio / fine etichetta | CLS … PRINT 1 | ^XA … ^XZ |
| Dimensione etichetta | SIZE 100 mm,75 mm GAP 3 mm,0 | ^PW800 ^LL600 (punti) |
| Posizione di un campo | Primi due parametri di TEXT/BARCODE (x,y in punti) | ^FO50,40 (x,y in punti) |
| Testo | TEXT 50,40,"0",0,12,12,"Ciao" | ^A0N,40,40 ^FDCiao^FS |
| Code 128 | BARCODE 50,150,"128",80,1,0,2,4,"12345" | ^BY2 ^BCN,80,Y,N,N ^FD12345^FS |
| Codice QR | QRCODE 400,150,M,6,A,0,"dati" | ^BQN,2,6 ^FDQA,dati^FS |
| Data Matrix | DMATRIX 400,150,120,120,"dati" | ^BXN,6,200 ^FDdati^FS |
| Riquadro / linea | BOX x,y,xend,yend,2 / BAR x,y,w,h | ^GB300,2,2^FS |
| Copie | PRINT 10,1 | ^PQ10 |
| Intensità / velocità | DENSITY 10 SPEED 4 | ^MD15 ^PR4 |
Cosa cambia davvero
- Dimensione etichetta: SIZE in millimetri di TSPL diventa ^PW/^LL in punti — moltiplicate per 8 a 203 dpi o 11,8 a 300 dpi e arrotondate.
- Font: i font bitmap 1–8 di TSPL non hanno gemello ZPL; mappateli su ^A0 (scalabile) con un'altezza scelta per replicare la dimensione stampata, o sui font ^A A–H per un aspetto bitmap.
- Codici a barre: le larghezze stretta/larga per comando di TSPL diventano un unico ^BY prima del codice; se due codici sull'etichetta usano larghezze diverse servono due dichiarazioni ^BY.
- QR e Data Matrix: TSPL li dimensiona per larghezza di cella o in pixel; ZPL per ingrandimento (^BQ) o modulo (^BX). Verificate la dimensione stampata, non i numeri.
- Rotazione: TSPL ruota per campo (0/90/180/270); ZPL usa ^FW per l'intera etichetta o la lettera di orientamento in ogni comando ^A/^B (N, R, I, B).
Prima e dopo: la stessa etichetta
SIZE 60 mm,40 mm GAP 2 mm,0 CLS TEXT 20,20,"3",0,1,1,"LOC-A01-03" BARCODE 20,60,"128",80,1,0,2,2,"LOCA0103" PRINT 1
^XA ^PW480 ^LL320 ^FO20,20 ^A0N,30,30 ^FDLOC-A01-03^FS ^FO20,60 ^BY2 ^BCN,80,Y,N,N ^FDLOCA0103^FS ^PQ1 ^XZ
Checklist di migrazione
- Decidere una volta la strategia dei font di destinazione (^A0 scalabile o ^A bitmap) e applicarla a tutta la libreria per coerenza.
- Controllare la larghezza di modulo ^BY rispetto alla risoluzione della testina Zebra; una larghezza che si leggeva sulla TSC può essere troppo stretta a 300 dpi.
- Sostituire i loghi BITMAP di TSPL con ^GF o, meglio, con grafica memorizzata (^DG) per mantenere i lavori leggeri.
- Se l'etichetta è alimentata da un WMS che già parla ZPL, mantenere i campi variabili nello stesso ordine per evitare un nuovo mapping.
Come lo fa EtikStudio
Importate il lavoro TSPL, correggete visivamente ciò che serve, selezionate un profilo Zebra ed esportate ZPL. I font sono abbinati per metriche stampate, ^BY è derivato dalla barra stretta che avevate, e la riga leggibile è rigenerata dallo stesso campo dati, così i due non divergono mai.
Gli esempi di comandi sono semplificati per chiarezza; la sintassi esatta varia per modello e firmware. Testa sempre sulla stampante di destinazione.