Conversão de linguagens de impressora
Converter TSPL para ZPL: equivalências de comandos e guia de migração (TSC → Zebra)
Como os comandos TSPL se traduzem em ZPL, as armadilhas em unidades, fontes e larguras de barra, uma etiqueta real antes/depois e como levar uma biblioteca TSC para impressoras Zebra.
A migração inversa acontece quando uma empresa padroniza suas linhas industriais em Zebra, herda etiquetas TSC de uma aquisição ou precisa entregar ZPL porque o WMS de um cliente o envia direto à impressora. O TSPL é mais fácil de ler, então a tradução para ZPL consiste sobretudo em respeitar a estrutura mais rígida do ZPL: tudo dentro de ^XA…^XZ, cada campo aberto com ^FO e fechado com ^FS.
Equivalências de comandos
| Operação | TSPL (TSC) | ZPL (Zebra) |
|---|---|---|
| Início / fim da etiqueta | CLS … PRINT 1 | ^XA … ^XZ |
| Tamanho da etiqueta | SIZE 100 mm,75 mm GAP 3 mm,0 | ^PW800 ^LL600 (pontos) |
| Posição de um campo | Dois primeiros parâmetros de TEXT/BARCODE (x,y em pontos) | ^FO50,40 (x,y em pontos) |
| Texto | TEXT 50,40,"0",0,12,12,"Olá" | ^A0N,40,40 ^FDOlá^FS |
| Code 128 | BARCODE 50,150,"128",80,1,0,2,4,"12345" | ^BY2 ^BCN,80,Y,N,N ^FD12345^FS |
| Código QR | QRCODE 400,150,M,6,A,0,"dados" | ^BQN,2,6 ^FDQA,dados^FS |
| Data Matrix | DMATRIX 400,150,120,120,"dados" | ^BXN,6,200 ^FDdados^FS |
| Caixa / linha | BOX x,y,xend,yend,2 / BAR x,y,w,h | ^GB300,2,2^FS |
| Cópias | PRINT 10,1 | ^PQ10 |
| Escurecimento / velocidade | DENSITY 10 SPEED 4 | ^MD15 ^PR4 |
O que realmente muda
- Tamanho da etiqueta: o SIZE em milímetros do TSPL vira ^PW/^LL em pontos — multiplique por 8 a 203 dpi ou 11,8 a 300 dpi e arredonde.
- Fontes: as fontes bitmap 1–8 do TSPL não têm gêmea em ZPL; mapeie-as para ^A0 (escalável) com uma altura que iguale o tamanho impresso, ou para as fontes ^A A–H para um visual bitmap.
- Códigos de barras: as larguras estreita/larga por comando do TSPL viram um único ^BY antes do código; se dois códigos na etiqueta usam larguras diferentes, são necessárias duas declarações ^BY.
- QR e Data Matrix: o TSPL os dimensiona por largura de célula ou em pixels; o ZPL por ampliação (^BQ) ou módulo (^BX). Verifique o tamanho impresso, não os números.
- Rotação: o TSPL gira por campo (0/90/180/270); o ZPL usa ^FW para a etiqueta inteira ou a letra de orientação em cada comando ^A/^B (N, R, I, B).
Antes e depois: a mesma etiqueta
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
Lista de verificação de migração
- Decidir a estratégia de fontes de destino (^A0 escalável vs ^A bitmap) uma vez e aplicá-la a toda a biblioteca por consistência.
- Conferir a largura de módulo ^BY contra a resolução da cabeça Zebra; uma largura que lia na TSC pode ser estreita demais a 300 dpi.
- Substituir logotipos BITMAP do TSPL por ^GF ou, de preferência, por gráficos armazenados (^DG) para manter os trabalhos leves.
- Se a etiqueta é alimentada por um WMS que já fala ZPL, manter os campos variáveis na mesma ordem para não remapear.
Como o EtikStudio faz
Importe o trabalho TSPL, corrija visualmente o que for preciso, selecione um perfil Zebra e exporte ZPL. As fontes são pareadas por métricas impressas, o ^BY é derivado da largura de barra estreita que você tinha, e a linha legível é regenerada a partir do mesmo campo de dados, para que os dois nunca divirjam.
Os exemplos de comandos são simplificados para clareza; a sintaxe exata varia por modelo e firmware. Sempre teste na impressora de destino.