Monthly Archives: July 2008

Barcode 2D

Inzigato da dei marchettari ho dato un’occhiata al mondo dei codici a barre in 2D, in particolare alle possibili applicazioni di community che sembra vadano per la maggiore in giappone.

fabulus-qr

La prima cosa che ho scoperto è che esistono veramente una marea di codifiche ma le più usate sono Datamatrix e, soprattutto, QRcode. Da li a buttar giù due righe in perl il passo è stato breve.
(Il modulo perl è fatto bene ma non ho capito come mai durante l’init se il parametro di “versione” non è definito viene impostato ad 1 mentre più avanti viene invocata la procedura di calcolo automatico della versione solo se lo stesso non è definito… nel dubbio ho risolto togliendo un “|| 1” dall’init del modulo.)

A questo punto generare QRcode è banale, ad esempio con un cgi:


#!/usr/bin/perl 

use CGI;
use GD::Barcode;

my $q = new CGI;

my $str = 'Hello World!';

if ($q->param()) { $str = $q->param('s'); }

my $oGdBar = GD::Barcode->new('QRcode', "$str" , { Ecc => 'M', ModuleSize => 6 });

print "Content-type: image/png\n\n";
binmode STDOUT;
print $oGdBar->plot()->png;

Per chi volesse approfondire sicuramente le pagine più interessanti che ho trovato wikipedia e la pagina di descrizione dei contenuti dei barcode dell’implementazione di google nelle sue Chart API. Molto interessanti anche le pagine descrittive di denso-wave detentore del marchio.