zplCloud Blog

Do fluxo de impressão com Google Sheets à etiqueta impressa

Impressora → design → planilha → Print View. Incluindo o Apps Script que realmente autentica.

4 min de leitura zplCloud Team

Comece pela fonte de dados que você já tem

Linhas do Google Sheets renderizadas pelo zplCloud e impressas como etiquetas em uma impressora Zebra

A maioria dos projetos de etiquetas não trava na impressora ou no design. Trava nos dados: alguém precisa ser dono da lista de artigos, e "vamos conectar o ERP" vira um ticket de seis semanas.

Então comece com uma planilha do Google. É uma fonte de dados real, todos no escritório podem editá-la, e o caminho de lá até uma etiqueta impressa é curto. Quando a conexão com o ERP estiver finalmente pronta, a etiqueta e o caminho de impressão não mudam - só muda de onde vêm as linhas.

Esta é a cadeia inteira, de ponta a ponta.

1 - Impressora na rede e conectada

Desembale, carregue a mídia, ligue, coloque na rede e conecte-a ao zplCloud com o one-liner Weblink ou o agente CLI, e aplique um perfil de impressora para que escuridão e velocidade correspondam à mídia. Isso é coberto passo a passo no post speed-run; reserve 10 minutos.

2 - Crie a etiqueta

No designer, comece de um modelo ou em branco e adicione os campos que mudam por etiqueta: número do artigo, nome, quantidade, destino. Nomeie os bindings exatamente como os cabeçalhos das colunas da planilha - essa única decisão elimina todo o trabalho de mapeamento depois.

Verifique a visualização como PNG, PDF ou SVG. Ela é renderizada no servidor pelo mesmo mecanismo que produz o ZPL, então não é uma aproximação.

Anote o ID do design. É <nome>.<id>, ex. shipping-label.42; você precisa dele para a API.

3 - A planilha

Uma linha por etiqueta, uma coluna por binding:

artikel_nrnamemengeziel
4006381333930Cable tie 200 mm50Ramp 4
4006381333947Cable tie 300 mm25Ramp 2

Caminho A - sem código. Copie as linhas para a aba Dados Teste do designer ou para um trabalho em lote e imprima. Isso é suficiente para uma tiragem semanal e não exige configuração alguma.

Caminho B - Apps Script. A planilha vira o gatilho. Renderize através da API pública com uma chave de API:

// Extensões → Apps Script. Renderiza a linha ativa e retorna o ZPL.
const API_KEY   = 'sk_zplcloud_…';               // aba API na plataforma
const DESIGN_ID = 'shipping-label.42';           // "<nome>.<id>"

function renderActiveRow() {
  const sheet  = SpreadsheetApp.getActiveSheet();
  const header = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];
  const row    = sheet.getRange(sheet.getActiveCell().getRow(), 1, 1, sheet.getLastColumn()).getValues()[0];

  // O corpo é um array de registros: as chaves devem corresponder aos bindings do design.
  const record = {};
  header.forEach((col, i) => record[col] = row[i]);

  const res = UrlFetchApp.fetch(
    'https://api.zplcloud.com/v1/zpl/render/design/' + DESIGN_ID,
    {
      method: 'post',
      contentType: 'application/json',
      headers: { 'X-API-Key': API_KEY },
      payload: JSON.stringify([record]),
      muteHttpExceptions: true          // senão um 4xx lança antes de você ler a mensagem
    });

  if (res.getResponseCode() !== 200) throw new Error(res.getContentText());
  return res.getContentText();          // o ZPL
}

Dois limites para contornar no design, ambos aplicados pela API:

  • 500 registros por solicitação - divida tiragens maiores em blocos.
  • Corpo de solicitação de 1 MB - com dados de etiqueta normais, isso são milhares de linhas, então o limite de registros atinge primeiro.

Adicione um menu personalizado (onOpenSpreadsheetApp.getUi().createMenu(...)) e seus colegas ganham uma entrada Imprimir na própria barra de menu da planilha.

4 - Levando o ZPL para a impressora

Renderizar e imprimir são duas etapas de propósito - você pode renderizar agora e imprimir depois, ou renderizar uma vez e imprimir em três unidades.

  • Da plataforma: o design imprime em uma impressora Weblink ou agente com um clique, sem script.
  • Do seu próprio código: envie o ZPL para a impressora via TCP 9100 através do agente, ou entregue ao CloudToBrowserPrint na máquina do operador.
  • Para uma pessoa: pule o script completamente e dê a ela uma Print View (próxima etapa).

5 - Print View para quem realmente imprime

Crie uma Print View a partir do design, marque menge e ziel como editáveis, bloqueie artikel_nr, e apoie a visão com os dados da planilha ou uma busca. Compartilhe a URL ou imprima o QR code e cole-o perto da impressora.

O operador abre o link no celular, escaneia o código de barras do artigo no campo, confere a visualização ao vivo e toca em imprimir. Sem app, sem treinamento.

A cadeia inteira

EtapaO quêTempo
1Impressora + Weblink/agente + perfil~10 min
2Design com bindings nomeados como as colunas~5 min
3Planilha, opcionalmente um Apps Script~5 min
4Caminho de impressão (plataforma, API ou Print View)~2 min
5O operador escaneia e imprimesegundos

Por que uma planilha é uma escolha defensável

Não é um compromisso pelo qual você se desculpa. Uma planilha dá versionamento, comentários, acesso por usuário e trilha de auditoria de fábrica, e ninguém precisa de onboarding. Seus limites reais são concorrência e integridade referencial - quando duas pessoas editam a mesma linha durante um turno, ou quando a lista de artigos precisa corresponder exatamente ao ERP, esse é o sinal para migrar para o data hub e consultar SQL Server ou MongoDB diretamente.

A migração é contida: mesmo design, mesmos bindings, mesma Print View. Só a fonte de dados muda.

Relacionados

Mais artigos