Hoy aprenderemos como generar un código de barras con php por medio de la librería Barcode.php, te explicaré cada de uno de los parámetros de esta librería, te mostraré como generar una imagen de código de barras para un determinado string y como la podemos almacenar en una ubicación especifica.
¿Cómo funciona barcode.php?
Barcode.php te permite generar imágenes de código de barra, soporta cuatro formatos, Code 128, Code 39, Code 2of5 y Codobar, para hacer uso de esta librería es necesario que incluyas una etiqueta <img> y en su atributo src hacer referencia al archivo barcode.php e incluir un conjunto de parámetros que te explico a continuación:
- text: Es un string del cual generarás el código de barras.
- size: Es un valor numérico que define la altura de la imagen a generar, por default es 20.
- orientation: Orientación que le darás a la imagen, horizontal o vertical, por default es horizontal.
- codetype: Formato con el cual se generará el código de barras, ya vimos que soporta cuatro formatos, por default lo hace con el formato Code 128.
- print: Es un valor booleano con el cual especificamos si deseamos imprimir o no el text del código de barras, por default es false.
- SizeFactor= Es un valor numérico que define el factor de tamaño por default es 1.
Generar un código de barras con php
Para comenzar es necesario que descargues la librería barcode.php y la descomprimas en alguna carpeta de tu proyecto.
<input type="text" id="data" placeholder="Ingresa un valor"> <button type="button" id="generar_barcode">Generar código de barras</button> <div id="imagen"></div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <script> $("#generar_barcode").click(function() { var data = $("#data").val(); $("#imagen").html('<img src="barcode\\barcode.php?text='+data+'&size=90&codetype=Code39&print=true"/>'); $("#data").val(''); }); </script>
Para este demo yo he agregado un input con el id data y un button con el id generar_barcode con el fin de ingresar un valor y generar su correspondiente código de barras, enseguida tenemos un div con el id imagen que es donde se visualizará el resultado.
Dentro del script lo único que hacemos es detectar el evento click y en la variable data almacenamos el valor que se haya ingresado y el cual convertiremos a código de barras.
Ahora solo incluimos la etiqueta <img> con su atributo src para especificar los detalles del código de barras que se va a generar, tal como se muestra en la siguiente linea:
<img src="barcode\\barcode.php?text='+data+'&size=90&codetype=Code39&print=true"/>
Nuestro resultado es el siguiente:
Puedes ver el demo en funcionamiento del código anterior en el siguiente enlace.
Si deseas almacenar la imagen del código de barras generada en alguna ubicación especifica solo tienes que incluir en el script la siguiente linea:
$.post( "guardarImagen.php", { filepath: "codigosGenerados/"+data+".png", text:data } );
Lo que hacemos es una petición http por el método POST al archivo guardarImagen.php (que crearemos más adelante) y le enviamos como parámetros filepath y text, en el parámetro filepath especificamos la ruta donde se almacenarán las imágenes generadas.
Dentro del archivo guardarImagen.php simplemente recibimos los parámetros y mandamos llamar la función barcode propia de la librería barcode.php.
Si observamos podemos especificar los mismos parámetros que ya hemos visto anteriormente como, size, orientation, print,etc.
<?php include "barcode/barcode.php"; $filepath = $_POST['filepath']; $text = $_POST['text']; //barcode( $filepath, $text, $size, $orientation, $code_type, $print, $sizefactor ); barcode( $filepath, $text,'70','horizontal','code128',true,1); ?>
Nuestro resultado es el siguiente:
De esta manera concluimos este artículo donde aprendimos como generar un código de barras con php, si tienes algún comentario no dudes en dejármelo.
Estoy aprendiendo, he corrido el script, la imagen de barra se muestra en pantalla pero no logro que se almacene en una carpeta determinada..
Hola Rafael, ¿Has generado el archivo guardarImagen.php ? En este archivo esta el funcionamiento para poder guardar en una carpeta específica.
Como centralizar o texto no codigo de barra e enviar para impressora
Gracias por compartirlo, yo pude usarlo
Prueba de código de barras
ProgramacionParaTodos
Hola, estoy tratando de generar un email desde php con un código de barras, pero no logro que me genere la imágen desntro del email. Me genera una etiqueta de img pero no se visualiza el código. Si lo meto directo al html con un echo si me genera el Codebar. Alguna idea de que estoy haciendo mal?
Hola, muy buena utilidad la adapté como clase, la estoy utilizando pero tengo unas dudas en cuanto al tamaño de pixeles como podría manipular su alto y ancho desde la utilidad una vez generado el código?, gracias.