Comandi ZPL essenziali
Lo ZPL (Zebra Programming Language) è un linguaggio testuale per stampanti termiche. Conoscere una decina di comandi è sufficiente per costruire o leggere qualsiasi etichetta di spedizione, magazzino o prodotto.
Anatomia di un'etichetta ZPL
Ogni etichetta ZPL inizia con ^XA e termina con ^XZ. Tra i due delimitatori vivono i comandi che disegnano testo,
codici a barre, riquadri, immagini. Esempio minimo:
^XA
^FO50,50^A0N,50,50^FDCiao da zplpdf.it^FS
^FO50,120^BCN,80,Y,N,N^FD123456789^FS
^XZ
I comandi che usi nel 95% dei casi
^XA e ^XZ — Inizio / fine
Delimitano il blocco di un'etichetta. Tutto ciò che sta fuori viene ignorato dalla stampante.
^FO x,y — Field Origin
Posiziona il prossimo elemento alle coordinate x,y in dot. Su una stampante 203 dpi, 1 dot ≈ 0,125 mm. Esempio: ^FO100,200 = 12,5 mm da sinistra, 25 mm dall'alto.
^A0N,h,w — Font
Imposta il font (0 = font scalabile), orientamento (N = normale, R = ruotato 90°, I = invertito, B = capovolto), altezza e larghezza in dot.
^FD e ^FS — Field Data / Separator
^FD introduce il dato (testo o numero), ^FS chiude il campo. Esempio: ^FDOrdine 4242^FS.
^BC — Code 128
Disegna un codice a barre Code 128 — lo standard usato da BRT, GLS, SDA, Poste, DHL, UPS. Sintassi: ^BCN,h,p,l,s,m — orientamento, altezza, print interpretation line sotto, line above, mod check, mode.
^GB w,h,t — Riquadro grafico
Disegna un rettangolo di larghezza w, altezza h, spessore bordo t in dot. Utile per separatori e box grafici.
^PW — Print Width
Larghezza dell'etichetta in dot. ^PW812 = 4 pollici a 203 dpi. Critico perché zplpdf.it usa ^PW + ^LL nel preset "Auto".
^LL — Label Length
Lunghezza dell'etichetta in dot. ^LL1218 = 6 pollici a 203 dpi.
Comandi avanzati che incontri spesso
^BX— Data Matrix (usato da SDA, Poste).^BQ— QR Code.^B2— Interleaved 2 of 5 (usato da TNT).^GF— Graphic Field — immagini bitmap inline (es. logo corriere).^FX— Commento (ignorato dalla stampante, utile per debug).^CI— Change International Encoding (per accenti italiani:^CI28= UTF-8).
Esempio completo: etichetta spedizione minima
^XA
^CI28
^PW812
^LL1218
^FX --- Mittente ---
^FO30,30^A0N,28,28^FDMittente: Negozio SRL^FS
^FO30,70^A0N,22,22^FDVia Esempio 12, 20100 Milano (MI)^FS
^FX --- Destinatario ---
^FO30,160^A0N,40,40^FDDestinatario:^FS
^FO30,210^A0N,32,32^FDMario Rossi^FS
^FO30,255^A0N,28,28^FDVia Roma 5, 00100 Roma (RM)^FS
^FX --- Codice a barre ---
^FO30,400^BCN,150,Y,N,N^FD1234567890^FS
^XZ
Carica questo blocco su zplpdf.it/app/converti con preset 4×6 pollici e ottieni il PDF.
Domande frequenti
Come gestisco caratteri accentati italiani (à, è, ò)?
^CI28 all'inizio dell'etichetta — abilita la codifica UTF-8 per i font Zebra moderni.Perché il mio Code 128 non viene scansionato?
Differenza tra ^A0 e ^A1?
^A0 usa il font scalabile predefinito. ^A1, ^A2, ecc. usano font bitmap predefiniti — pixel-precisi a una sola altezza.Posso testare ZPL senza stampante Zebra?
Vedi anche: Formato ZPL spiegato, Differenza EPL vs ZPL, Visualizzatore ZPL online.