Conversão de linguagens de impressora
Converter ZPL para SBPL: migrar etiquetas de impressoras Zebra para SATO
Equivalências de ZPL para SBPL da SATO, a estrutura de sequências de escape do SBPL, diferenças de fontes e códigos, exemplo antes/depois e lista de verificação para linhas de alimentos e farma.
As impressoras SATO dominam o processamento de alimentos, a embalagem farmacêutica e as fábricas de capital japonês, e falam SBPL — uma linguagem construída com sequências ESC em vez dos comandos com circunflexo do ZPL. Uma fábrica que compra SATO para uma linha nova e mantém Zebra na doca acaba com duas cópias de cada etiqueta, a menos que o design seja independente da linguagem.
Equivalências de comandos
| Operação | ZPL (Zebra) | SBPL (SATO) |
|---|---|---|
| Início / fim | ^XA … ^XZ | <ESC>A … <ESC>Z |
| Tamanho da etiqueta | ^PW812 ^LL609 | <ESC>A1 0609 0812 (altura, largura em pontos) |
| Posição de um campo | ^FO40,30 | <ESC>H0040 <ESC>V0030 |
| Texto | ^A0N,36,36 ^FDOlá^FS | <ESC>L0202 <ESC>XU Olá (fonte + ampliação) |
| Code 128 | ^BY2 ^BCN,90,Y,N,N ^FDdados^FS | <ESC>BG02090 dados (barra estreita 2, altura 90) |
| Código QR | ^BQN,2,6 ^FDQA,dados^FS | <ESC>2D30,L,06,0,0 <ESC>DN0004,dados |
| Linha / caixa | ^GB300,2,2^FS | <ESC>FW02H0300 (linha) / <ESC>FW0202V0100H0300 (caixa) |
| Cópias | ^PQ5 | <ESC>Q5 |
| Escurecimento / velocidade | ^MD10 ^PR4 | <ESC>#E3 <ESC>CS4 |
| Rotação | ^FWR ou letra de orientação | <ESC>%1 (90°), %2 (180°), %3 (270°) |
<ESC> é o caractere de escape (hex 1B). Os comandos SBPL são sequências de ESC seguidas de uma letra e parâmetros numéricos de largura fixa — posições sempre têm quatro dígitos, por isso 40 vira 0040.
O que realmente muda
- Estrutura: o SBPL define uma posição com H/V uma vez e depois imprime o objeto; a posição persiste para o comando seguinte, salvo se mudada. O ZPL reposiciona cada campo. Uma tradução ingênua esquece de reiniciar H/V e empilha os campos uns sobre os outros.
- Fontes: XU/XS/XM/XB/XL do SBPL são fontes bitmap com ampliação L em inteiros; fontes de contorno (ESC RD ou ESC $) dão texto escalável mais próximo do ^A0 do ZPL. Texto japonês e chinês usa comandos de fonte dedicados sem equivalente ZPL.
- Códigos de barras: o comando B codifica simbologia, barra estreita e altura em um só código (BG = Code 128); as proporções são fixas por simbologia e não livres como ^BY. O texto legível precisa ser adicionado como campo de texto separado.
- Ordem do tamanho: o A1 do SBPL recebe altura e depois largura — o inverso do hábito ZPL de pensar primeiro na largura.
- Codificação de caracteres: o ZPL é quase todo ASCII com ^CI para páginas de código; os modelos SATO japoneses usam Shift-JIS por padrão. Acentos em etiquetas em português ou espanhol exigem página de código declarada explicitamente.
Antes e depois
^XA ^PW812 ^LL609 ^FO40,30 ^A0N,36,36 ^FDSafety Harness^FS ^FO40,130 ^BY2 ^BCN,90,Y,N,N ^FD7501234567893^FS ^PQ1 ^XZ
<ESC>A <ESC>A1 0609 0812 <ESC>H0040 <ESC>V0030 <ESC>L0202 <ESC>XU Safety Harness <ESC>H0040 <ESC>V0130 <ESC>BG02090 7501234567893 <ESC>H0040 <ESC>V0230 <ESC>L0101 <ESC>XS 7501234567893 <ESC>Q1 <ESC>Z
Os dígitos legíveis abaixo do código tiveram de ser adicionados como linha de texto explícita — o ZPL os imprimia automaticamente com a flag Y.
Lista de verificação de migração
- Confirmar a resolução do modelo SATO e se roda SBPL ou o SBPL mais recente com AEP — alguns comandos diferem.
- Validar a saída GS1-128 e GS1 DataMatrix com um verificador; a SATO trata o FNC1 com códigos de escape diferentes.
- Definir a página de código para caracteres acentuados e testar as linhas de alérgenos em cada idioma impresso.
- Manter a versão ZPL ativa para as Zebra da doca.
Como o EtikStudio faz
O design é mantido em unidades físicas; exportar para um perfil SATO gera as sequências SBPL com posições reiniciadas para cada objeto, fontes pareadas por tamanho impresso, códigos construídos com os códigos de simbologia corretos e FNC1, e a linha legível gerada do mesmo campo de dados. Clientes de alimentos e farma operam Zebra e SATO lado a lado a partir de uma biblioteca.
Os exemplos de comandos são simplificados para clareza; a sintaxe exata varia por modelo e firmware. Sempre teste na impressora de destino.