Por que a conversão do seu ZPL falhou

As três causas mais comuns de uma etiqueta não sair no PDF, duas delas sem erro nenhum na tela. Como reconhecer cada uma olhando o arquivo, testadas contra o renderizador que o EasyZPL usa.

Falta o ^XZ que fecha a etiqueta

Uma etiqueta ZPL começa com ^XA e termina com ^XZ. O renderizador não trata um bloco sem fechamento como "etiqueta incompleta que dá para aproveitar": ele simplesmente não encontra etiqueta nenhuma.

^XA
^FO50,50^A0N,30,30^FDPedido 1234^FS

Um arquivo só com essa etiqueta não converte: o conversor avisa que não encontrou etiqueta nenhuma.

O caso que pega mais gente é o outro, e ele é pior. Se o arquivo tiver dez etiquetas corretas e uma sem ^XZ, ele converte, e você recebe dez páginas. A etiqueta quebrada desaparece sem aviso nenhum. Medimos contra o renderizador que o EasyZPL usa: três etiquetas boas mais uma quebrada devolvem exatamente três.

Se a quebrada estiver no meio do arquivo, some ela e a seguinte sai errada. O bloco aberto continua lendo até achar o próximo ^XZ, que é o da etiqueta de baixo, e as duas viram uma só.

Não existe alarme para isso, e é por isso que a conferência vale dobrado. Conte quantos ^XA e quantos ^XZ o arquivo tem, porque os dois números precisam bater. Depois de converter, confira se o PDF tem uma página para cada etiqueta.

Falta o ^FS que fecha um campo

Cada campo desenhado termina com ^FS. É fácil esquecer no último campo antes do ^XZ, porque visualmente parece que o ^XZ já fecha tudo.

^XA
^FO50,50^A0N,30,30^FDPedido 1234
^XZ

Essa etiqueta também se perde, e pelo mesmo motivo do caso anterior: o ^FD aberto engole o ^XZ como se fosse texto a ser impresso, e aí a etiqueta nunca é fechada. As outras do arquivo saem normalmente, e só esta some.

Corrigido:

^XA
^FO50,50^A0N,30,30^FDPedido 1234^FS
^XZ

O conteúdo está fora da área da etiqueta

Este é diferente dos dois anteriores: o arquivo converte normalmente, e o PDF sai com as páginas certas, só que em branco ou faltando pedaços.

^FO posiciona em pontos, não em milímetros. Quantos pontos cabem depende da densidade escolhida: a 8 pontos por milímetro, uma etiqueta de 101,6 mm de largura tem 813 pontos. Um ^FO900,50 nessa etiqueta desenha fora do papel, e nada reclama.

O sintoma clássico é converter a mesma etiqueta em densidades diferentes e ver o conteúdo aparecer numa e sumir na outra, porque o arquivo foi escrito para uma impressora de 300 dpi e está sendo convertido a 203.

O que não é problema

Comando desconhecido não derruba o arquivo. Se o seu ZPL tem um comando que este renderizador não implementa, ele é ignorado e o resto da etiqueta é desenhado normalmente. Se está faltando alguma coisa no resultado mas a conversão ocorreu, o problema provavelmente é este, e não um erro de sintaxe.

← Todos os guias