Limites e alternativas
“Maximum label count exceeded” ao renderizar ZPL
Este erro é sobre o arquivo, não sobre a conta: uma requisição levou mais pares ^XA…^XZ do que o serviço renderiza de uma vez. Como contar quantos o seu arquivo tem, e como dividi-lo.
O que o erro está contando
Diferente de um limite de taxa ou de uma cota, este erro é sobre uma requisição. Um serviço de renderização limita quantas etiquetas desenha numa única chamada, e o arquivo que você mandou tinha mais que isso.
A contagem é de formatos completos no arquivo. Todo ^XA abre um e todo ^XZ fecha, então um arquivo com cinquenta pares são cinquenta etiquetas, por mais longa ou curta que cada uma seja.
^XA
^FO50,50^A0N,40,40^FDEtiqueta um^FS
^XZ
^XA
^FO50,50^A0N,40,40^FDEtiqueta dois^FS
^XZConte antes de mandar
A conferência mais rápida é contar as ocorrências de ^XZ no arquivo — uma por etiqueta completa. Se essa contagem discordar da de ^XA, você tem outro problema: algum formato está desbalanceado, e o renderizador vai estar contando outra coisa que não o que você imagina.
Vale descartar um ^XA sem fechamento primeiro, porque ele muda a contagem e porque é um bug de verdade. Uma impressora que recebe um formato que nunca fecha fica esperando o resto dele, que é uma das causas clássicas de etiqueta que nunca sai.
Colar o arquivo no validador deste site aponta formatos desbalanceados com linha e coluna do comando culpado, e o visualizador navega pelas etiquetas encontradas — que é a mesma contagem que o serviço de renderização está aplicando.
Dividindo o arquivo
Divida na fronteira entre formatos — depois de um ^XZ, antes do próximo ^XA — e nunca no meio de um. Um pedaço que começa na metade de um formato não é uma etiqueta válida, e o erro que volta disso é consideravelmente mais confuso que o original.
Se o arquivo é um lote que você mesmo produziu, costuma ser mais fácil emiti-lo em pedaços do que dividi-lo depois. Se veio de outro lugar, dividir no ^XZ é confiável desde que nenhum campo ^FD contenha esse texto — o que pode acontecer, então confira antes de confiar numa divisão ingênua.
Um renderizador local contorna o limite em vez de driblá-lo: não há teto por requisição porque não há requisição. O visualizador deste site navega por quantas etiquetas o arquivo tiver, e a exportação em PDF escreve todas num documento só.
Abrir ZPL para PDF
Renderize um arquivo com várias etiquetas no navegador, sem teto de quantos formatos ele carrega, e exporte uma página por etiqueta.
Abrir ZPL para PDFPerguntas frequentes
- Quantas etiquetas tem o meu arquivo?
- Tantas quantos comandos ^XZ ele tiver, supondo que cada um feche um ^XA. Se as duas contagens diferirem, conserte o formato desbalanceado primeiro — isso é um bug no arquivo, não só um problema de contagem.
- Dá para dividir uma etiqueta em duas requisições?
- Não. Um formato precisa chegar completo, de ^XA a ^XZ. Divida entre etiquetas, nunca dentro de uma.
- Um download de gráfico ~DG conta como etiqueta?
- Não. Comandos til ficam fora de ^XA…^XZ e são instruções à impressora, não etiquetas. Mas precisam viajar junto com o arquivo que os usa — um ^XG que recupera um gráfico nunca baixado não desenha nada.