Conversione dei linguaggi di stampante
Convertire DPL in ZPL: dismettere le stampanti Datamax-O'Neil a favore di Zebra
Come le etichette DPL Datamax basate su record si mappano in ZPL, le differenze di unità e struttura dei record, un esempio svolto e una checklist per sostituire le I-Class e M-Class legacy.
Le stampanti Datamax-O'Neil (oggi parte di Honeywell) hanno fatto funzionare i magazzini per due decenni, e i loro lavori DPL sono ancora sepolti in programmi di stampa ERP scritti quando la I-Class era nuova. Quando queste stampanti vengono sostituite da Zebra ZT, i flussi DPL devono diventare ZPL. DPL è insolito: invece di comandi con parametri nominati usa record numerici a larghezza fissa, compatti da inviare e faticosi da leggere.
Equivalenze dei comandi
| Operazione | DPL (Datamax-O'Neil) | ZPL (Zebra) |
|---|---|---|
| Inizio / fine | <STX>L … E (L apre il formato, E lo stampa) | ^XA … ^XZ |
| Unità | <STX>n = pollici (1/100 in), <STX>m = metrico (1/10 mm) | punti |
| Testo | Record: rotazione, font, larghezza×, altezza×, dimensione, riga, colonna, dati → 1911A030050 0020Ciao | ^FO40,30 ^A0N,36,36 ^FDCiao^FS |
| Code 128 | Record: rotazione, simbologia E, larga, stretta, altezza, riga, colonna, dati → 1E2209000650020dati | ^BY2 ^BCN,90,Y,N,N ^FDdati^FS |
| Linee / riquadri | Record di tipo X con l (linea) o b (riquadro) e dimensioni | ^GB300,2,2^FS |
| Copie | Q0005 dentro il formato | ^PQ5 |
| Intensità / velocità | Record H15 (calore) / P (velocità) | ^MD10 ^PR4 |
Cosa cambia davvero
- Unità: le posizioni DPL sono in centesimi di pollice (o decimi di millimetro in modalità metrica), non in punti. La riga 0050 in modalità pollici è 0,50 in = 101 punti a 203 dpi. Ogni coordinata va convertita, e la modalità della stampante (<STX>n o <STX>m) va letta per prima o tutto finisce nel posto sbagliato.
- Ordine riga/colonna: i record DPL mettono la riga (verticale) prima della colonna (orizzontale); l'^FO di ZPL è x poi y. Scambiarli è il bug di traduzione più comune.
- Font: i font interni DPL 0–8 sono bitmap con moltiplicatori interi; il font 9 seleziona font smooth (scalabili) tramite un codice come A03. Mappate i bitmap su ^A0 per altezza misurata.
- Codici a barre: DPL codifica la simbologia come una singola lettera (A Code 39, B UPC-A, E Code 128, F EAN-13, …) con cifre per barra larga e stretta; ZPL usa comandi ^B più ^BY. L'altezza DPL è nel record; la riga leggibile dipende dalla lettera di simbologia maiuscola/minuscola, non da un flag.
- Grafica: DPL scarica le immagini con <STX>I…; convertitele una volta in ^GF o in grafica memorizzata ^DG.
Prima e dopo (semplificato)
<STX>n <STX>L D11 1911A030050 0020Safety Harness 1E2209000650020 7501234567893 Q0001 E
^XA ^PW812 ^LL609 ^FO40,101 ^A0N,36,36 ^FDSafety Harness^FS ^FO40,132 ^BY2 ^BCN,90,Y,N,N ^FD7501234567893^FS ^PQ1 ^XZ
Le righe 0050 e 0065 in centesimi di pollice sono diventate 101 e 132 punti; la colonna 0020 è diventata x = 40. I campi del record sono stati spacchettati in parametri ZPL nominati.
Checklist di migrazione
- Catturare lavori DPL reali dallo spool dell'ERP anziché vecchi file di progetto — lo spool è ciò che è stato davvero stampato.
- Confermare la modalità di unità e la risoluzione della stampante originale (I-Class a 203 o 300 dpi) prima di convertire le coordinate.
- Verificare ogni codice sulla Zebra: le cifre della barra stretta DPL non corrispondono uno a uno a ^BY.
- Identificare quali campi record l'ERP riempie dinamicamente; diventano i campi variabili del nuovo modello.
Come lo fa EtikStudio
L'interprete DPL legge la modalità di unità, spacchetta ogni record in posizione, font, dimensione e dati, e rende l'etichetta in millimetri. L'esportazione verso un profilo Zebra produce ZPL con coordinate convertite e codici ricostruiti; i campi che l'ERP riempiva diventano variabili collegate agli stessi dati.
Gli esempi di comandi sono semplificati per chiarezza; la sintassi esatta varia per modello e firmware. Testa sempre sulla stampante di destinazione.