Conversão de linguagens de impressora
Converter DPL para ZPL: aposentar impressoras Datamax-O'Neil em favor da Zebra
Como as etiquetas DPL da Datamax, baseadas em registros, se mapeiam para ZPL, as diferenças de unidades e estrutura de registro, um exemplo resolvido e uma lista de verificação para substituir I-Class e M-Class legadas.
As impressoras Datamax-O'Neil (hoje parte da Honeywell) operaram armazéns por duas décadas, e seus trabalhos DPL ainda estão enterrados em programas de impressão do ERP escritos quando a I-Class era nova. Quando essas impressoras são substituídas por Zebra ZT, os fluxos DPL precisam virar ZPL. O DPL é incomum: em vez de comandos com parâmetros nomeados, usa registros numéricos de largura fixa, compactos para enviar e penosos de ler.
Equivalências de comandos
| Operação | DPL (Datamax-O'Neil) | ZPL (Zebra) |
|---|---|---|
| Início / fim | <STX>L … E (L abre o formato, E o imprime) | ^XA … ^XZ |
| Unidades | <STX>n = polegadas (1/100 in), <STX>m = métrico (1/10 mm) | pontos |
| Texto | Registro: rotação, fonte, largura×, altura×, tamanho, linha, coluna, dados → 1911A030050 0020Olá | ^FO40,30 ^A0N,36,36 ^FDOlá^FS |
| Code 128 | Registro: rotação, simbologia E, larga, estreita, altura, linha, coluna, dados → 1E2209000650020dados | ^BY2 ^BCN,90,Y,N,N ^FDdados^FS |
| Linhas / caixas | Registro tipo X com l (linha) ou b (caixa) e dimensões | ^GB300,2,2^FS |
| Cópias | Q0005 dentro do formato | ^PQ5 |
| Escurecimento / velocidade | Registros H15 (calor) / P (velocidade) | ^MD10 ^PR4 |
O que realmente muda
- Unidades: as posições DPL estão em centésimos de polegada (ou décimos de milímetro no modo métrico), não em pontos. A linha 0050 no modo polegadas é 0,50 in = 101 pontos a 203 dpi. Toda coordenada precisa ser convertida, e o modo da impressora (<STX>n ou <STX>m) precisa ser lido primeiro, ou tudo cai no lugar errado.
- Ordem linha/coluna: os registros DPL põem a linha (vertical) antes da coluna (horizontal); o ^FO do ZPL é x depois y. Trocá-los é o bug de tradução mais comum.
- Fontes: as fontes internas DPL 0–8 são bitmaps com multiplicadores inteiros; a fonte 9 seleciona fontes suaves (escaláveis) por um código como A03. Mapeie os bitmaps para ^A0 pela altura medida.
- Códigos de barras: o DPL codifica a simbologia como uma única letra (A Code 39, B UPC-A, E Code 128, F EAN-13, …) com dígitos de barra larga e estreita; o ZPL usa comandos ^B mais ^BY. A altura DPL está no registro; a linha legível é escolhida pela letra de simbologia em maiúscula/minúscula, não por uma flag.
- Gráficos: o DPL baixa imagens com <STX>I…; converta-as uma vez para ^GF ou gráficos armazenados ^DG.
Antes e depois (simplificado)
<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
As linhas 0050 e 0065 em centésimos de polegada viraram 101 e 132 pontos; a coluna 0020 virou x = 40. Os campos do registro foram desempacotados em parâmetros ZPL nomeados.
Lista de verificação de migração
- Capturar trabalhos DPL reais do spool do ERP em vez de arquivos de design antigos — o spool é o que realmente foi impresso.
- Confirmar o modo de unidades e a resolução da impressora original (I-Class de 203 ou 300 dpi) antes de converter coordenadas.
- Avaliar cada código na Zebra: os dígitos de barra estreita do DPL não mapeiam um a um com ^BY.
- Identificar quais campos de registro o ERP preenche dinamicamente; eles viram campos variáveis no novo modelo.
Como o EtikStudio faz
O interpretador DPL lê o modo de unidades, desempacota cada registro em posição, fonte, tamanho e dados, e renderiza a etiqueta em milímetros. A exportação para um perfil Zebra produz ZPL com coordenadas convertidas e códigos reconstruídos; os campos que o ERP preenchia viram variáveis conectadas aos mesmos dados.
Os exemplos de comandos são simplificados para clareza; a sintaxe exata varia por modelo e firmware. Sempre teste na impressora de destino.