Códigos de barras con PHP y PEAR

barcode

Los códigos de barras son una solución muy eficaz para enlazar objetos del mundo real con la representación de esos objetos en un sistema informático.

Si estás con PHP, ésta es una solución rápida y sencilla que te permitirá trabajar con códigos de barra dentro de una aplicación web: la clase PEAR::Image_Barcode.


Se requiere, previamente a la instalación, disponer del siguiente software:

  • PEAR (The PHP Extension and Application Repository). Un sistema que permite extender las capacidades del lenguaje PHP de forma parecida a como lo hace Debian con apt-get.
  • La librería libre GD, que permite la creación dinámica de imágenes (gif, jpeg, y png, entre otros formatos) y que, posiblemente, ya tengas instalada.
    Para saber si ya la tienes instalada, puedes crear un fichero ‘test.php’ con la siguiente línea:
    < ?=phpinfo()?>
    y lo sueltas en algún lugar accesible a tu servidor web, como por ejemplo en el DOCUMENT_ROOT:
    http://localhost/test.php)
    El resultado crea dinámicamente una página con todas las características de tu instalación PHP.

La instalación, al menos en GNU/Linux, es un proceso muy sencillo con PEAR:
# pear install Image_Barcode

Si echas un vistazo al fichero Barcode.php, dentro del directorio /Image/Barcode de tu instalación, verás que la clase tiene un único método: draw. Este método acepta los siguientes parámetros: text,type, e imgtype

  • text es la cadena a representar en tu código de barras
  • type es el tipo de código de barras.
  • imgtype es el tipo de imagen que quieres que tenga el código de barras, v.g., png, jpg, gif.

El código es muy simple. La clase Image_Barcode devuelve un flujo de datos hacia tu navegador, componiendo una imagen. Lo único que hay que hacer es instanciar un objeto de la clase Image_Barcode e invocar su método draw, pasándole los parámetros correspondientes.

Puedes hacer que el mensaje a representar sea dinámico, por ejemplo, pasándolo a la página con el método GET:


< ?php
require_once("Image/Barcode.php");
$bc = new Image_Barcode;
$bc->draw($_GET['¡Hola Mundo!'], "Code128", "png");
?>

Es posible tener un control más fino para la creación del código de barras. Para darte cuenta de esto, echa un vistazo al código del fichero Code39.php, dentro del directorio Barcode.
Verás que si instancias directamente esta clase, puedes acceder a características como la anchura, altura del código de barras o incluso a las características de visualización del texto:


< ?php
require_once("Image/Barcode/Code39.php");
$bc = new Image_Barcode_Code39('',2,4);
$bc->draw($_GET['mensaje'], 'png', true, 120);
?>

Hemos creado una instancia de Image_Barcode_Code39 llamando al constructor y pasado los valores 2 y 4 como factores de delgadez y densidad de las barras. Después hemos invocado el método draw pasando el texto, el tipo de salida, y true para no mostrar el texto. También hemos indicado 120 como altura del código de barras.

El grueso del trabajo lo realizan las clases y la librería GD. Como puedes ver, con unas pocas líneas de código, es posible añadir códigos de barras a tu aplicación PHP.

Referencias:

Los comentarios están cerrados.