Os comandos ZPL que a conversão ignora, e por quê
Pediu três cópias e veio uma. Declarou o tamanho no arquivo e ele não valeu. Nenhum dos dois é falha: são comandos que só existem para a impressora, e a conversão não é impressão.
A diferença que explica todos os casos
Um arquivo ZPL não descreve só o desenho da etiqueta. Ele descreve também como a impressora deve se comportar: quantas cópias tirar, com quanto calor queimar a fita, a que velocidade puxar o papel, de que lado começar.
Converter é desenhar, não imprimir. Não existe fita para queimar, nem motor para acelerar, nem rolo para puxar. Os comandos dessa segunda categoria não têm o que fazer, e a conversão passa por cima deles em silêncio.
Isso não é limitação do conversor: é o que diferencia os dois trabalhos. Vale a pena saber quais são, porque quase todos causam a mesma dúvida ("mas está escrito no arquivo").
^PQ: pedir três cópias devolve uma página
^PQ é a quantidade de cópias. Este arquivo pede três:
^XA
^FO50,50^A0N,30,30^FDPedido 1234^FS
^PQ3
^XZConvertido, ele devolve uma página. Medimos contra o renderizador que o EasyZPL usa, e há um teste que mantém isso assim.
O raciocínio: ^PQ manda a impressora repetir a mesma etiqueta, e não descreve três etiquetas. O arquivo tem uma etiqueta só, então o PDF tem uma página só.
Se você quer três páginas, o arquivo precisa ter três blocos ^XA … ^XZ, um por etiqueta. É mais verboso e é mais honesto: o que está no arquivo passa a ser o que sai no PDF.
^PW e ^LL: o tamanho quem escolhe é você
^PW declara a largura de impressão e ^LL o comprimento da etiqueta, os dois em pontos. Testamos com e sem eles: a saída é idêntica, byte a byte.
O tamanho da conversão vem dos campos de largura e altura da tela, em milímetros, e não do que o arquivo declara. É deliberado, e a razão é prática: a maioria dos arquivos que circulam não traz ^PW nenhum, porque a impressora de destino já estava configurada. Obedecer ao arquivo quando ele fala e adivinhar quando ele cala produziria dois comportamentos para a mesma tela.
Consequência prática: se a etiqueta saiu cortada ou sobrando margem, o lugar de corrigir é a tela, não o arquivo.
^MD, ^PR, ^PO e ^LT: ajustes de máquina
^MD ajusta a escuridão da impressão, ^PR a velocidade, ^PO a orientação e ^LT o deslocamento do topo. Testamos os quatro, inclusive ^POI, que inverte a etiqueta em 180 graus: a saída é idêntica byte a byte em todos os casos.
Faz sentido quando se olha o que eles controlam. Escuridão é quanto calor o cabeçote aplica na fita; velocidade é o motor; orientação e deslocamento do topo descrevem como a etiqueta sai do rolo. Nada disso existe num PDF.
Se a sua etiqueta impressa sai clara demais, o ajuste é na impressora, e o PDF não tem nada a ver com isso.
Comando que não existe também não dá erro
Este é o caso que mais surpreende: um comando escrito errado, ou que simplesmente não existe, não gera aviso nenhum. A etiqueta converte como se ele não estivesse lá.
^XA
^ZZinventado
^FO50,50^A0N,30,30^FDPedido 1234^FS
^XZEssa etiqueta sai idêntica à mesma sem a linha do meio. Testamos.
Não é descuido: é como ZPL foi projetado. Modelos diferentes de impressora entendem conjuntos diferentes de comandos, e um arquivo escrito para um modelo novo precisa continuar imprimindo num modelo antigo, ignorando o que ele não conhece. Essa tolerância é o que permite a um mesmo arquivo circular por um parque de máquinas de dez anos.
O preço é para você, e o erro de digitação mais comum mostra bem: escrever ^F0 com o algarismo zero no lugar de ^FO com a letra O. O comando deixa de existir, então some junto a posição que ele carregava, e o campo é desenhado no canto superior esquerdo, em cima do que estiver lá.
Reconhecer esse defeito economiza tempo: quando um elemento aparece empilhado no canto da etiqueta em vez de no lugar dele, procure um zero onde deveria haver um O antes de procurar qualquer outra causa.
Resumo
Se está no arquivo e não saiu como você esperava, é quase sempre um destes três casos: comando de máquina, que é ignorado de propósito; comando escrito errado, que não avisa e ainda leva junto o que ele configurava; ou conteúdo posicionado fora da área da etiqueta. Os dois primeiros estão aqui, o terceiro está no guia sobre por que uma etiqueta não sai no PDF.