Stampa di codici QR Code

Creato il: 18.09.2014
Un codice QR (piu' conosciuto come "QR code") e' un particolare tipo di codice bidimensionale impiegato per memorizzare informazioni di vario tipo, generalmente destinate a essere lette tramite la fotocamera di uno smartphone od un tablet
Questo tipo di codice non e' generabile direttamente da Ready Pro, ma all'occorrenza e' comunque possibile stampare con il report editor di Ready Pro anche codici di questo tipo, utilizzando alcuni semplici trucchi. Vediamo in dettaglio come.
La prima cosa da sapere e' che Google mette a disposizione un servizio online che e' in grado di generare codici QR, richiamando un semplice URL

Ad esempio l'URL

http://chart.googleapis.com/chart?chs=250x250&cht=qr&chl=Hello+world

se aperto su un normale browser visualizzera' una immagine con il QR code corrispondente al testo "Hello world".
Noi possiamo sfruttare questo servizio per stampare il codice QR all'interno di un report generato da Ready Pro.
Ad esempio se volessimo stampare questo codice su un modello di stampa di Ready Pro, possiamo farlo creando un elemento di tipo TESTO, al cui interno inserire l'URL che genera il codice QR
Avendo inserito un elemento di tipo testo, sul modello di stampa vedremo inizialmente solo un blocco con il testo corrispondente. Sfruttando l'opzione "Stampa speciale" abbiamo pero' la possibilita' di forzare Ready Pro a tentare la stampa di questo testo in modalita' diversa: nel nostro caso possiamo scegliere di forzare la stampa come immagine
In questo modo abbiamo gia' ottenuto il risultato che volevamo, ovvero stampare un codice QR su un report di Ready Pro.
Questo tipo di stampa pero' ha una utilita' relativa, in quanto il codice QR stampato e' fisso (ovvero contiene sempre lo stesso testo codificato) ed avremmo quindi potuto raggiungere lo stesso risultato anche inserendo una immagine fissa.

Per rendere il codice dinamico (ovvero diverso in base al contenuto del report stesso) ci vengono in aiuto le funzionalita' di scripting di Ready Pro, che consentono di creare testi dinamici all'interno dei report.
Supponiamo ad esempio di creare un modello di stampa per un ordine cliente, e di voler codificare all'interno del codice QR il nome del cliente ed il numero dell'ordine.

Per generare un testo del genere possiamo utilizzare uno script del tipo

Option Explicit

Dim URL

URL="http://chart.googleapis.com/chart?chs=250x250&cht=qr&chl="
URL=URL & Replace(Doc.Anag.Name & " " & Doc.DocNumber, " ","+")
Response.Write(URL)


script da inserire all'interno del report di stampa come elemento "script"

N.B. Lo script e' solo un esempio ed andra' adattato in base alle esigenze di ognuno ovvero in base ai campi che vanno codificati nel codice QR, all'encoding dei caratteri, ecc.
Come nel caso precedente dovremo configurare la stampa come immagine per questo campo, cosi' da forzare Ready Pro alla stampa del codice QR all'interno del report che ci interessa

Login