Cos'è ZPL? Il Linguaggio di Programmazione Zebra Spiegato

Aggiornato 23 giugno 2026

ZPL (linguaggio di programmazione Zebra) è il linguaggio di comandi che le stampanti termiche Zebra e compatibili utilizzano per descrivere le etichette. Invece di ricevere un'immagine finita come fa una stampante da ufficio, una stampante ZPL riceve un breve blocco di testo normale — comandi che dicono "metti questo testo qui, disegna questo codice a barre là, stampa una copia" — e renderizza l'etichetta da sola, alla piena risoluzione della stampante, in millisecondi.

Questo design è il motivo per cui ZPL domina la logistica di spedizione, il magazzino, il retail e l'etichettatura sanitaria dagli anni '80: i dati inviati alla stampante sono esigui, possono essere generati da qualsiasi sistema in grado di produrre testo (un ERP, uno script, un browser), e l'hardware della stampante fa il lavoro pesante. Praticamente ogni stampante Zebra prodotta dai primi anni '90 parla ZPL II, la revisione in uso oggi, e lo fanno anche molte stampanti di altri marchi che pubblicizzano l'emulazione "compatibile ZPL".

Com'è fatta un'etichetta ZPL

Un documento ZPL è una sequenza di comandi, ciascuno che inizia con un accento circonflesso (^). Ogni etichetta è racchiusa tra ^XA (inizio formato) e ^XZ (fine formato). Ecco un'etichetta completa e funzionante:

^XA
^CF0,40
^FO50,50^FDHELLO WORLD^FS
^FO50,110^GB700,4,4^FS
^BY3,2,100
^FO150,150^BCN,100,Y,N,N^FD12345678^FS
^XZ

Leggendola riga per riga:

  • ^XA^XZ — aprono e chiudono il formato etichetta. Tutto ciò che è in mezzo descrive un'etichetta.
  • ^CF0,40 — imposta il font predefinito al font scalabile 0 a 40 punti di altezza.
  • ^FO50,50Field Origin: posiziona il campo successivo a 50 punti dal margine sinistro e 50 punti dall'alto.
  • ^FDHELLO WORLD^FSField Data seguito da Field Separator: il contenuto effettivo del campo.
  • ^GB700,4,4 — disegna un Graphic Box largo 700 punti e alto 4 punti — qui utilizzato come separatore orizzontale.
  • ^BY3,2,100 poi ^BCN,100,Y,N,N — imposta le impostazioni predefinite del codice a barre (larghezza modulo, rapporto, altezza), poi renderizza un codice a barre Code 128 con i dati 12345678 e una riga leggibile dall'uomo sottostante.

Punti, non pixel: capire i DPI

Ogni coordinata e dimensione in ZPL è misurata in punti stampante, e la dimensione fisica di un punto dipende dalla risoluzione della testina di stampa. Le risoluzioni comuni sono 203 dpi (8 punti/mm), 300 dpi (12 punti/mm) e 600 dpi (24 punti/mm). Su una stampante a 203 dpi un'etichetta di spedizione 4 × 6 pollici è 812 × 1218 punti; su una stampante a 300 dpi la stessa etichetta è 1200 × 1800 punti. ZPL scritto per una risoluzione stampa più piccolo o più grande su un'altra, che è la causa più comune del problema "la mia etichetta sembra sbagliata sulla nuova stampante" — le dimensioni devono essere scalate al DPI target.

ZPL vs. EPL vs. stampa con driver

Potresti imbatterti anche in EPL (Eltron Programming Language), un linguaggio più vecchio e semplice che alcune stampanti desktop legacy utilizzano; le moderne stampanti Zebra accettano entrambi, ma i nuovi progetti dovrebbero puntare su ZPL. L'alternativa a entrambi è la stampa con driver, dove un driver Windows o CUPS converte una pagina renderizzata in comandi stampante per te. I driver sono comodi per stampare da Word o da un visualizzatore PDF, ma ZPL grezzo offre posizionamento preciso, codici a barre più nitidi, payload molto più piccoli e la possibilità di stampare da sistemi dove installare driver è impraticabile — ecco perché il software per etichette parla in definitiva ZPL.

Come scrivere — o generare — ZPL

Per un'etichetta una tantum, scrivere ZPL a mano con un riferimento comandi aperto è assolutamente fattibile: il linguaggio è piccolo e una manciata di comandi (^FO, ^FD, ^A, ^BC, ^GB) copre la maggior parte delle etichette reali. Il problema inizia quando devi iterare su un layout — ogni aggiustamento significa modificare coordinate in punti, rinviare il file e sprecare materiale etichette.

Questo è il problema che i designer visivi risolvono. ZPLCraft ti offre una canvas in scala reale dove trascini testo, codici a barre, linee e riquadri nella posizione desiderata e il ZPL corrispondente viene generato per te — correttamente scalato per i DPI della tua stampante, con codici a barre che si leggono. Puoi esportare il codice in qualsiasi sistema che già invia ZPL, o stampare direttamente dal browser via USB senza installare nulla.

Domande di base frequenti

ZPL è gratuito da usare?

Sì. ZPL è uno standard de facto aperto: Zebra pubblica la guida completa alla programmazione ZPL II e non c'è nulla da licenziare. Qualsiasi editor di testo può produrlo.

Quale estensione di file usa ZPL?

Non c'è un'estensione obbligatoria — ZPL è testo normale. Troverai .zpl, .txt e .prn nella pratica; le stampanti non si curano dell'estensione, consumano semplicemente il flusso di byte.

Posso visualizzare in anteprima ZPL senza una stampante?

Sì — servizi di rendering come Labelary convertono ZPL in un'immagine, e l'editor di ZPLCraft mostra un'anteprima live dell'etichetta mentre si progetta, così si spende materiale etichette solo quando il layout è definitivo.