Converter 50, 200 ou 500 etiquetas de uma vez sem travar
Lote grande é onde a maioria dos conversores desiste: a aba congela ou a memória acaba. Como um arquivo de centenas de etiquetas é processado aqui, e o que fazer quando ele passa do limite.
Por que lote grande trava em tanto lugar
Converter uma etiqueta é desenhar uma imagem. Converter quinhentas é desenhar quinhentas imagens e depois montar um PDF com todas elas. Se tudo isso acontecer de uma vez, no mesmo lugar, a memória acaba antes do fim.
É por isso que muito conversor aguenta dez etiquetas e morre em cem: ele carrega o arquivo inteiro, renderiza tudo, guarda tudo, e só então monta. O limite não é o tamanho do arquivo de texto, que é pequeno: é o tamanho das imagens somadas. Uma etiqueta de 10 × 15 cm a 8 pontos por milímetro tem quase um milhão de pixels. Quinhentas têm quase quinhentos milhões.
Como funciona aqui
O arquivo é dividido em blocos de cem etiquetas. Cada bloco vai ao servidor, volta como imagens, e o PDF é montado no seu navegador, aos poucos. O servidor nunca segura mais de cem etiquetas ao mesmo tempo, e descarta cada bloco assim que responde.
Essa divisão não é só sobre desempenho. É o que permite não guardar nada: se o arquivo inteiro tivesse que ficar em algum lugar enquanto o trabalho anda, esse lugar seria um disco, e aí o conteúdo das suas etiquetas passaria a existir fora da sua máquina. Processando um bloco por vez, nenhum estado sobrevive entre as requisições.
Consequência prática: o aviso de progresso conta os blocos ("Convertendo… bloco 2 de 5"), então num lote de 500 você vê cinco passos acontecendo, e não uma tela parada sem sinal de vida.
Os limites, e o que cada um significa
| Limite | Valor |
|---|---|
| Sem conta | 10 etiquetas por conversão |
| Com conta | 500 etiquetas por conversão |
| Tamanho do arquivo | 2 MB |
| Bloco enviado por vez | 100 etiquetas |
O teto de 2 MB quase nunca é o que para alguém: ZPL é texto, e uma etiqueta completa de transporte ocupa uns 2 KB. Mil etiquetas dão 2 MB. Quando esse limite aparece, costuma ser porque o arquivo traz uma imagem embutida com ^GFA repetida em cada etiqueta, que é o único elemento de ZPL que pesa de verdade.
Passou de 500: divida o arquivo
Um arquivo ZPL é texto puro, e cada etiqueta é um bloco independente entre ^XA e ^XZ:
^XA
^FO50,50^A0N,30,30^FDPedido 1234^FS
^XZCortar entre um ^XZ e o ^XA seguinte é sempre seguro: não existe estado que atravesse etiquetas. O que não pode é cortar no meio de um bloco, e o efeito disso é o pior possível, porque a etiqueta partida some sem avisar.
Num editor de texto, procure por ^XZ e conte. No Bloco de Notas, a busca mostra a contagem de ocorrências; no VS Code, o painel de busca também. O número de ^XZ é o número de etiquetas.
Se a conversão falhar no meio
Lote grande com etiqueta muito grande é a combinação que ainda pode falhar, e o limite ali não é a quantidade: é a área total em pixels. Uma etiqueta de 10 × 15 cm a 8 pontos por milímetro passa folgada; a mesma a 24 pontos por milímetro tem nove vezes mais pixels.
Se falhar, o primeiro ajuste é a densidade, não o tamanho do lote. Converter a mesma etiqueta em 8 em vez de 24 pontos por milímetro corta a área por nove, e na maior parte dos casos a impressão continua legível. O guia sobre densidade explica como saber qual valor o seu arquivo realmente pede.