zplCloud Blog

Dal flusso di stampa con Google Sheets all'etichetta stampata

Stampante → design → foglio di calcolo → Print View. Incluso l'Apps Script che si autentica davvero.

4 min di lettura zplCloud Team

Inizia dalla sorgente dati che hai già

Righe di Google Sheets renderizzate da zplCloud e stampate come etichette su una stampante Zebra

La maggior parte dei progetti di etichette non si blocca sulla stampante o sul design. Si blocca sui dati: qualcuno deve essere proprietario dell'elenco articoli, e "collegheremo l'ERP" si trasforma in un ticket di sei settimane.

Quindi inizia con un foglio di calcolo Google. È una vera sorgente dati, tutti in ufficio possono modificarlo, e il percorso da lì a un'etichetta stampata è breve. Quando la connessione ERP sarà finalmente pronta, l'etichetta e il percorso di stampa non cambiano - cambia solo da dove arrivano le righe.

Questa è l'intera catena, dall'inizio alla fine.

1 - Stampante in rete e collegata

Scarta, carica il supporto, accendi, mettila in rete, poi collegal'a zplCloud con il one-liner Weblink o l'agente CLI, e applica un profilo stampante così oscurità e velocità corrispondono al supporto. Questo è coperto passo passo nel post speed-run; metti in conto 10 minuti.

2 - Progetta l'etichetta

Nel designer, parti da un modello o da zero e aggiungi i campi che cambiano per etichetta: numero articolo, nome, quantità, destinazione. Dai ai binding esattamente gli stessi nomi delle intestazioni di colonna del foglio - quella singola decisione elimina tutto il lavoro di mappatura successivo.

Controlla l'anteprima come PNG, PDF o SVG. È renderizzata lato server dallo stesso motore che produce lo ZPL, quindi non è un'approssimazione.

Annota l'ID del design. È <nome>.<id>, es. shipping-label.42; ti serve per l'API.

3 - Il foglio di calcolo

Una riga per etichetta, una colonna per binding:

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

Percorso A - senza codice. Copia le righe nella scheda Dati di prova del designer o in un lavoro batch e stampa. Questo basta per una tiratura settimanale e non richiede alcuna configurazione.

Percorso B - Apps Script. Il foglio diventa il trigger. Renderizza tramite l'API pubblica con una chiave API:

// Estensioni → Apps Script. Renderizza la riga attiva e restituisce lo ZPL.
const API_KEY   = 'sk_zplcloud_…';               // scheda API nella piattaforma
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];

  // Il corpo è un array di record: le chiavi devono corrispondere ai binding del 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          // altrimenti un 4xx lancia prima che tu possa leggere il messaggio
    });

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

Due limiti da aggirare nel design, entrambi applicati dall'API:

  • 500 record per richiesta - dividi le tirature più grandi in blocchi.
  • Corpo richiesta di 1 MB - con dati di etichette normali sono migliaia di righe, quindi il tetto dei record si raggiunge prima.

Aggiungi un menu personalizzato (onOpenSpreadsheetApp.getUi().createMenu(...)) e i tuoi colleghi ottengono una voce Stampa nella barra dei menu del foglio stesso.

4 - Portare lo ZPL alla stampante

Renderizzare e stampare sono due passaggi voluti - puoi renderizzare ora e stampare dopo, o renderizzare una volta e stampare su tre siti.

  • Dalla piattaforma: il design stampa su una stampante Weblink o agente con un clic, senza script.
  • Dal tuo codice: invia lo ZPL alla stampante via TCP 9100 attraverso l'agente, o consegnalo a CloudToBrowserPrint sulla macchina dell'operatore.
  • Per una persona: salta completamente lo script e dagli una Print View (passo successivo).

5 - Print View per chi stampa davvero

Crea una Print View dal design, marca menge e ziel modificabili, blocca artikel_nr, e supporta la vista con i dati del foglio o una ricerca. Condividi l'URL o stampa il QR code e attaccalo vicino alla stampante.

L'operatore apre il link sul telefono, scansiona il codice a barre dell'articolo nel campo, controlla l'anteprima live e tocca stampa. Nessuna app, nessuna formazione.

L'intera catena

FaseCosaTempo
1Stampante + Weblink/agente + profilo~10 min
2Design con binding nominati come le colonne~5 min
3Foglio di calcolo, eventualmente un Apps Script~5 min
4Percorso di stampa (piattaforma, API o Print View)~2 min
5L'operatore scansiona e stampasecondi

Perché un foglio di calcolo è una scelta difendibile

Non è un compromesso di cui scusarsi. Un foglio ti dà versioning, commenti, accesso per utente e una pista di audit di serie, e nessuno ha bisogno di onboarding. I suoi veri limiti sono la concorrenza e l'integrità referenziale - quando due persone modificano la stessa riga durante un turno, o quando l'elenco articoli deve corrispondere esattamente all'ERP, quello è il segnale per passare al data hub e interrogare SQL Server o MongoDB direttamente.

La migrazione è contenuta: stesso design, stessi binding, stessa Print View. Cambia solo la sorgente dati.

Correlati

Altri articoli