Problemi di lettura

Qualità di stampa dei codici a barre: verifica ISO/IEC 15416 e 15415 spiegata in pratica

La qualità di un codice a barre si misura con un verificatore secondo ISO/IEC 15416 (codici lineari) e ISO/IEC 15415 (codici 2D), che assegna un grado da A a F, o da 4,0 a 0. Che il tuo lettore lo legga non basta: il verificatore misura contrasto, bordi, difetti e zona di rispetto. Per gli EAN in cassa GS1 richiede almeno 1.5/06/660.

Lettore e verificatore: perché non sono la stessa cosa

Un lettore è progettato per leggere anche codici imperfetti: compensa, riprova, ricostruisce. Il fatto che il tuo lettore legga un codice dice poco su come lo leggerà un lettore diverso, in un'altra cassa, con altra luce. Un verificatore invece è uno strumento di misura calibrato: illumina il codice in condizioni standard e misura la riflettanza lungo più linee di scansione, confrontando i valori con le soglie della norma.

Lettore e verificatore a confronto
AspettoLettoreVerificatore
ScopoLeggere il datoMisurare la qualità del simbolo
RisultatoLetto / non lettoGrado per parametro e grado complessivo
CondizioniVariabiliIlluminazione, apertura e geometria standard
CalibrazioneNessunaCon carta di calibrazione certificata
Quando serveSempre, in produzionePer validare etichette, fornitori, nuove stampe

Come si legge un grado come 1.5/06/660

Il risultato di una verifica si esprime in tre parti:

  • 1.5: il grado complessivo, su una scala da 4,0 (A) a 0 (F). In ISO/IEC 15416 il grado di ogni linea di scansione è il peggiore tra i suoi parametri; il grado complessivo è la media su più linee.
  • 06: l'apertura di misura, in millesimi di pollice: 06 significa un'apertura di 0,150 mm. Si sceglie in base alla X-dimension: aperture più piccole per codici più piccoli.
  • 660: la lunghezza d'onda della luce in nanometri, cioè luce rossa, la stessa usata dalla maggior parte dei lettori.
Scala dei gradi ISO/IEC 15416 e 15415
LetteraValoreSignificato pratico
A4,0 (da 3,5)Ottimo, si legge al primo passaggio con qualsiasi lettore
B3,0 (da 2,5)Buono
C2,0 (da 1,5)Accettabile, può richiedere più passaggi
D1,0 (da 0,5)Scarso, letture difficili
F0Non conforme

Per EAN-13 e UPC-A destinati alla lettura in cassa, le GS1 General Specifications indicano come requisito minimo 1.5/06/660. Altre applicazioni (etichette logistiche GS1-128, ITF-14 su cartone ondulato, GS1 DataMatrix in sanità) hanno requisiti propri, con aperture diverse: consulta le tabelle delle specifiche dei simboli GS1 per il tuo caso, partendo da GS1-128 e Application Identifier.

Cosa misura ISO/IEC 15416 sui codici lineari

Parametri di qualità per i codici lineari
ParametroCosa misuraCausa tipica di un grado basso
DecodeSe il codice si decodifica con l'algoritmo di riferimentoErrori di codifica, larghezze molto sbagliate
Symbol ContrastDifferenza tra riflettanza massima e minimaFondo scuro o colorato, barre grigie, termica sbiadita
Minimum ReflectanceChe le barre siano abbastanza scure rispetto al fondoInchiostro poco coprente
Minimum Edge ContrastContrasto minimo tra una barra e lo spazio accantoSpazi stretti "chiusi" dall'inchiostro
ModulationUniformità del contrasto tra elementi larghi e strettiAllargamento delle barre, substrato traslucido
DefectsMacchie negli spazi e vuoti nelle barreTestina sporca o danneggiata, carta irregolare
DecodabilityMargine delle larghezze rispetto alle soglie di decodificaBarre troppo larghe o strette, X-dimension irregolare
Quiet zonePresenza della zona di rispettoTesto o bordi vicini: vedi zona di rispetto

Per i codici 2D, ISO/IEC 15415 aggiunge parametri legati alla griglia: danneggiamento dei pattern fissi (i quadrati di posizione del QR, il bordo del Data Matrix), uniformità assiale e della griglia, correzione d'errore inutilizzata. Un grado basso di correzione d'errore inutilizzata significa che il codice si legge "consumando" la sua riserva di correzione: basta poco per renderlo illeggibile.

Difetti di stampa più comuni e rimedio

Difetti visibili, causa e correzione
DifettoCausa probabileCorrezione
Riga bianca continua nella direzione di avanzamentoElemento della testina termica bruciato o sporcoPulisci la testina; se resta, sostituiscila
Barre "gonfie", spazi sottili chiusiDensità o calore troppo alti, inchiostro che si allargaRiduci la densità; applica riduzione della larghezza barre (BWR) in stampa industriale
Barre sbiadite o grigieDensità bassa, nastro non adatto, testina sporcaAumenta la densità, usa il nastro consigliato
Bordi sfrangiatiVelocità di stampa troppo alta, carta ruvidaRiduci la velocità, usa etichette più lisce
Barre irregolari dopo ridimensionamentoImmagine bitmap scalata in un documentoGenera il codice alla dimensione finale
Barre rosse o arancioniColore invisibile alla luce rossa del lettoreBarre nere o blu scuro su fondo chiaro

Sulle stampanti termiche, l'orientamento conta: se le barre sono parallele alla direzione di avanzamento, un elemento bruciato della testina può creare una riga bianca dentro una barra e rendere il codice illeggibile; se sono perpendicolari, la riga attraversa il codice e il lettore può leggere sopra o sotto. Nel secondo orientamento però le larghezze dipendono dalla precisione dell'avanzamento della carta. Scegli in base alla stampante e verifica il risultato.

I colori contano. Molti lettori e i verificatori usano luce rossa a 660 nm: il rosso, l'arancione e il giallo riflettono quella luce come il bianco. Un codice con barre rosse su fondo bianco è invisibile al lettore, mentre barre nere su fondo rosso possono funzionare.

Controlli che puoi fare senza verificatore

Un verificatore è uno strumento professionale. Se non ne hai uno, alcuni controlli riducono molto i rischi:

  1. Controlla il dato. Leggi il codice nel test lettore e verifica la cifra di controllo con il calcolatore. Per codici GS1 con AI usa il decodificatore GS1.
  2. Misura la X-dimension e la zona di rispetto con una lente o un righello, come spiegato in codici piccoli e ad alta densità.
  3. Prova con lettori diversi. Un laser, un imager e la fotocamera di un telefono. Se uno dei tre fatica, il codice ha margini ridotti.
  4. Prova "a passaggio singolo". Ogni codice dovrebbe leggersi al primo passaggio. Contare i tentativi su venti letture dà un'indicazione pratica.
  5. Osserva con la lente barre e spazi: bordi netti, spazi puliti, nessuna riga bianca.

Questi controlli non sostituiscono una verifica ISO quando un cliente o la grande distribuzione la richiedono. Per informazioni sui servizi di verifica e sui requisiti per i codici GS1 in Italia, rivolgiti a GS1 Italy.

Caso tipico: un produttore alimentare stampa gli EAN con una stampante a getto d'inchiostro su cartoncino poroso. In azienda i codici si leggono, ma un distributore segnala letture difficili. La verifica evidenzia un grado basso di decodificabilità: l'inchiostro si allarga e ingrossa le barre. Riducendo la larghezza delle barre in fase di generazione, il grado sale oltre il minimo richiesto.

Domande frequenti

Un grado C è un problema?

Per gli EAN in cassa C (1,5) è il minimo accettato da GS1. È conforme, ma non lascia molto margine per l'usura durante il trasporto: punta a gradi più alti in produzione.

Ogni quanto conviene verificare?

A ogni nuovo layout, cambio di stampante, materiale o nastro, e periodicamente durante tirature lunghe. In stampa industriale la verifica è spesso a campione su ogni lotto.

Un'app che "verifica" i codici sul telefono vale come verificatore?

No. Un'app può dirti se il codice si legge e se il dato è corretto, ma non misura i parametri ISO con illuminazione e apertura calibrate.

Fonti e riferimenti

  • ISO/IEC 15416, specifica di verifica della qualità di stampa dei codici lineari; ISO/IEC 15415, codici 2D: iso.org.
  • GS1 General Specifications, requisiti minimi di qualità per applicazione e simbologia: gs1.org.
  • GS1 Italy, informazioni sui codici GS1 e sulla loro qualità: gs1it.org.

Altro in Problemi di lettura

Tutta la sezione Problemi di lettura