Data ultimo aggiornamento: 04/01/2019

Clicca per accedere al sito di NTS Informatica
Clicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomentoClicca per accedere all'argomento
Clicca per accedere al sito di NTS Informatica

Stampa barcode in stampanti termiche

UTILIZZO DI STAMPANTI TERMICHE PER ETICHETTE CON CODICI A BARRE

PROCEDURA CORRETTA DI INSTALLAZIONE STAMPANTE TERMICA ZEBRA Z4M 8 DOT 200 DPI

Il driver è scaricabile dal sito http://www.seagullscientific.com/aspx/welcome.aspx

Cliccare sulla sezione: Download dei driver di Seagull

1) Selezionare all'interno della Lista il file "Zebra" (ftp://ftp.seagullscientific.com/drivers/archive/7.1/7.1.6/Zebra_7.1.6.exe) ed eseguire la procedura.


COME CREARE FONT E FORMATI PROPRIETARI DELLA STAMPANTE

In Proprietà della stampante: Generale à Preferenze Stampa à Impostazione Pagina à Nuovo

Impostare un formato carta Personalizzato Business con Etichetta 10,1 cm x 5,6 cm


Impostare il contrasto della testina termica

Impostare un Font Particolare per Barcode EAN 13.

Eseguire Test di stampa da Business

STAMPA ETICHETTE A PIU' PISTE CON CODICE A BARRE

Se sulla stessa riga si stampano più codici a barre viene stampato solo il primo, per fare in modo che ogni etichetta abbia il barcode occorre impostare il font come segue

Togliere la spunta dalla voce Combina campi codici a barre e RFID adiacenti.


CREAZIONE REPORT ETICHETTE BARCODE EAN 13 CON FONT PROPRIETARI ZEBRA Z4M

Inserire nel report il campo tt_matric:

1) Da file/Imposta stampante impostare il driver Zebra Z4M e come formato carta il formato personalizzato:

2) Formattare il campo "tt_matric" con il font del driver Zebra creato precedentemente:

3) Segnaliamo dei problemi di stampa di barcode in Business Cube con driver Seagull, per stampanti Zebra in particolare con i driver zebra_2018_1, zebra_2018_2 e zebra_2018_3, e altre stampanti Intermec, Brother etc.; in Business NET2015 la stessa etichetta viene stampata in modo corretto.

Il motivo è un'anomalia di Crystal Reports 2008 Runtime SP4 basata su .Net Framework che non supporta i font della stampante (il font barcode è tra questi e perciò non lo stampa).

La soluzione è non utilizzare le classi .Net Framework ma le classi COM/VB6: oltre quindi a seguire la procedura indicata in questa documentazione da pag.7 a pag.12 (creare font e formati proprietari della stampante e a creare il report etichette barcode ean13 con font proprietari zebra z4m punto 1) e 2)), occorre abilitare l'opzione BSMGETTE\ReportsN\RepN\UsaCRPECom (al pari della PrinterName, ReportName, etc), come nel seguente esempio:

Se impostata a -1 fa partire, solo per quella circostanza, il motore di stampa COM/VB6, che supporta i font della stampante, compreso il barcode font; il motore di stampa COM/VB6 ha però le seguenti limitazioni:

- se si stampa l'etichetta da anteprima non stampa il barcode, occorre stampare direttamente su stampa

- non è supportato con buscube 64 bit

- non è supportato con SBC

- per stampare richiede che venga creato il server DSN, perché si usano le classi COM/VB6, mentre le classi .Net Framework non ne necessitano; il server DSN può essere creato manualmente da Origine dati ODBC di Windows oppure da BusAdmintTools.exe con apposita funzionalità:

- Sono segnalati anche i seguenti limiti di questo metodo:

1. Per alcuni report sia personalizzati che standard è stato riscontrato l'errore Unable to load report: la soluzione riscontrata è stata salvare il report con un editot di Crystal Reports di versione 8.5 oppure 2008 e non successivi.

2. Con l'ultizzo combinato dell'opzione UsaCRPECom = -1 e ShowPrinterDialog = 0 potrebbe verificarsi l'errore di stampante non valida: in questo caso si consiglia o di evitare l'utilizzo di ShowPrinterDialog = 0 oppure di creare l'etichetta con il metodo con l'utilizzo di stampa diretta e modello .zpl suggerito a seguito.

3. Sia con la Crpe COM (Net 2015) che con la Crpe Net, con diverse versioni di driver Seagull, da crystal reports non si riesce a stampare il codice a barre impostando come orientamento pagina 'orizzontale'.
L'unica soluzione è stato quella di lavorare in 'verticale', quindi se l'etichetta disposta in verticale è larga 10 ed alta 3 cm, per farla lavorare in orizzontale si imposta l'altezza a 10 e la larghezza a 3 cm, mantenendo la proprietà della carta su 'verticale'; per stampare il codice a barre ruotato, sul report occorre impostare per i campi interessati la 'Text Rotation' di 90 gradi.

4. Si è verificato un problema con le stampe di etichette con dimensione etichette con altezza maggiore della larghezza (ad esempio 12 cm x 10 cm) e orientamento verticale: in business la stampante mantiene tutte le caratteristiche tranne l'altezza dell'etichetta, causando per stampe di numerose etichette uno sfasamento del passo delle etichette e quindi una stampa non coerente: per risolvere occorre impostare da report non solo le impostazioni di pagina coerenti ma anche le dimensioni del report precise, esattamente ad esempio la larghezza 10 e altezza 12; inoltre sono state ridotte al massimo le intestazioni e i piè pagina; nelle sezioni di intestazione e piè pagina sono state settate le proprietà 'sopprimi' e 'ometti sezioni vuote'.

A seguito vengono proposte altre due soluzioni alternative per risolvere il problema di stampa barcode.

CREAZIONE ETICHETTE BARCODE EAN 13 CON UTILIZZO DI STAMPA DIRETTA E MODELLO .ZPL

Per i problemi di stampa barcode segnalati a pagina 13 punto 3) viene fornita questa seconda soluzione alternativa:

Utilizzo di stampa diretta con modello .ZPL: con questo motore di stampa non si utilizza più Crystal Reports, ma i comandi ZPL specifici della stampante; richiede quindi che la stampante stessa supporti il linguaggio ZPL. La procedura è la seguente:

- Installare ZebraDesigner zebradesigner-v250-9425.exe scaricabile dal sito di Zebra (è un programma che permette di installare Zdesigner driver per la stampante

- lanciare il programma, richiederà di aggiungere il driver della stampante con procedura guidata:

Selezionare la seguente stampante e procedere:

Togliere il flag di avvio installazione Zebra Font Downloader Setup Wizard e terminare l'installazione guidata:

La stampante appena installata non è quella reale ma una stampante che ci servirà per creare il modello di stampa

- Da ZebraDesigner creare la nuova etichetta, a seguito un esempio:

Nel nostro caso l'etichetta è 8 cm di larghezza e 2 di altezza:

Inseriamo un testo con le parentesi [] che è il nome del campo del DB che dovrà essere sostituito:

Inseriamo anche un testo fisso:

Cambiamo font e dimensione al testo fisso:

Inseriamo anche un barcode EAN13 e un codice QR:

Inseriamo anche un elemento grafico, linea, sempre a titolo di esempio:

Salviamo il modello per poterlo eventualmente recuperare per altre modifiche anche se non sarà quello da utlizzare con Business:

Ora salviamo il modello che effettivamente utilizzaremo in Business; il numero copie deve essere impostato = 1:

Rinominare l'estensione a .zpl:

Aprire il modello per verificarne il testo:

Questo è il testo che Business processerà e che verrà inviato alla stampante; occorre copiare questo file in \Bus\Rpt\Pers:

Occorre inoltre impostare in bsmgette le seguenti due opzioni di registro:

StpTermNome = nome della stampante effettiva dalla quale si stamepranno le etichette

StpZebraZPLModel = nome del modello .zpl salvato in Rpt\Pers

Per criptare eventualmente il prezzo da stampare sull'etichetta si può abilitare anche l'opzione SptZebraCriptaPrezzo:

Infine flaggre il campo Usa Caratteristiche specifiche della stampante termica (solo in stampa su carta), così che, stampando su carta, verrà stampata l'etichetta sfruttando esclusivamente il driver della stampante:

È fondamentale che nella stampante sia impostato come formato foglio quello impostato, nel nostro esempio 8cm x 2cm.

CREAZIONE ETICHETTE BARCODE EAN 13 CON UTILIZZO DI OPZIONI GENERICHE PER LA STAMPA DIRETTA

Per i problemi di stampa barcode segnalati viene fornita questa terza soluzione alternativa:

Utilizzo di opzioni generiche per stampare direttamente su stampanti di tipo ELTRON: con questo metodo occorre utilizzare il flag Usa caratteristiche specifiche della stampante termica (solo in stampa su carta)

Se selezionata questa opzione, la stampa verrà eseguita utilizzando le funzionalità specifiche della stampante termica, senza passare per il driver ed il motore di stampa utilizzato per tutti report di Business. L'etichetta verrà stampata con al massimo 3 righe di testo, quindi una quarta riga contenente il codice a barre. Il codice a barre deve sempre venir stampato. Le righe di testo verranno stampate solo se nel registro di Business sono state settate le opzioni StpTermSetTesto, StpTermSetTesto2 e StpTermSetTesto3. Se una di queste 3 opzioni non è settata, la riga di testo corrispondente non sarà stampata.

Per utilizzare questa funzionalità occorre preventivamente aver settato le seguenti opzioni nel registro di Business nella cartella Bsmgette/opzioni; le impostazioni dell'esempio si riferiscono ad una ELTRON 2746:

StpTermNome: indicare il nome della stampante termica, come da impostazione/stampanti di Windows (es: eltron 2746)

StpTermNReset: indicare il/i caratteri da utilizzare per pulire il buffer di stampa, senza sequenza di CR o LF) (es: N)

StpTermSetStd: indicare la sequenza di set per impostare dimensione dell'etichetta e altre opzioni generali (es: I8,1,039q320OJBD11Q144,25)

StpTermSetTesto / StpTermSetTesto2 / StpTermSetTesto3: indicare la sequenza di set per formattare e posizionare il testo da riportare sopra il barcode (posizione X e Y, dimensioni, ... ad es: A1,10,0,3,1,1,N).

pTermTestoCosa / StpTermTestoCosa2 / StpTermTestoCosa3:

  • A: Codice articolo + descrizione articolo
  • C: Codice articolo
  • D: Descrizzione articolo
  • E: Codice articolo + descrizione articolo + Prezzo
  • F: Descrizione articolo + Prezzo
  • P: Prezzo

Se il valore non è uno di quelli sopra esposti, sarà stampato il testo così com'è stato scritto.

StpTermSetBarcode Indicare la sequenza di set per formattare e posizionare il barcode (posizione X e Y, dimensioni, ... ad es: B40,100,0,E30,2,20,60,B).

StpTermCopie indicare la sequenza di set per impostare il numero di copie di etichette da stampare (es: P).

SetTermAsciiEnter indicare il/i numeri di CR/LF per la conferma delle opzioni sopra riportate separati da ";" (ex: 10, oppure 10;13).

Per varie ed eventuali considerazioni in merito alla compilazione delle opzioni occorre consultare il manuale allegato alla stampante.

 
 
Clicca per accedere al sito di NTS Informatica