ZPLToolkit

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
^XZ
Duas etiquetas num arquivo: dois pares ^XA…^XZ, contados como duas.

Conte 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 PDF

Perguntas 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.

Comandos deste guia

Guias relacionados