White Paper: Generar códigos de barra con PHP

Todo el mundo conoce o ha oído hablar de los códigos de barras. Ese conjunto de barras paralelas que vienen en todos los productos y que esconden información sobre él. Estos códigos se generan a partir de elementos del producto como el nombre, su EAN, su precio… Descargar White Paper: ‘Generar códigos de barra con PHP’

 

A simple vista, a las personas no les dice nada, ya que no somos capaces de leer la información escondida en ese código, pero si hacemos uso de un lector conseguiremos información muy valiosa sobre el producto en cuestión. Este tipo de códigos son muy útiles para artículos de venta rápida ya que nos permiten identificar los artículos rápidamente, y también para administrar inventario evitando la acumulación de stock.

Debido a su importancia, este tipo de códigos de barras se han convertido en elementos fundamentales en desarrollos de comercios electrónicos realizados en PHP para administrar su inventario u organizar los envíos de los pedidos.

Teniendo en cuenta que existen diferentes tipos de formatos de códigos de barras, hoy en nuestro White Paper veremos cómo crear este tipo de elementos en tres formatos diferentes: codabar, code128 y code39.

 

Formulario para la generación de los códigos de barras

Lo primero de todo será crearnos el formulario que utilizaremos para generar el código de barras según la información indicada en él. Se trata de un formulario que tendrá el aspecto que se muestra en la imagen siguiente:

Como se puede ver en la imagen, el formulario constará de tres campos:

  • Nombre del producto: El código de barras se generará a partir del valor indicado en este campo.
  • Tipo de código de barra: En este campo desplegable será donde podamos elegir el formato del código que queremos generar entre los tres tipos que hemos comentado anteriormente.
  • Orientación: Aquí elegiremos si queremos que el código aparezca en vertical u horizontal.

 

El código HTML que se encarga de generar este formulario sería el siguiente:

Código HTML
<form method="post">
    <div class="row">
        <label>Nombre del producto</label>
        <input type="text" name="barcodeText" class="form-control">
    </div>  
    <div class="row">
        <label>Tipo de código de barra</label>
        <select name="barcodeType" id="barcodeType" class="form-control">
            <option value="codabar">Codabar</option>
            <option value="code128">Code128</option>
            <option value="code39">Code39</option>
        </select>   
    </div>
    <div class="row">    
         <label>Orientación</label>
         <select name="barcodeDisplay" class="form-control" required>
            <option value="horizontal">Horizontal</option>
            <option value="vertical">Vertical</option>
         </select>
    </div>  
    <div class="row">   
        <input type="hidden" name="barcodeSize" id="barcodeSize" value="20">
        <input type="hidden" name="printText" id="printText" value="true">
        <input type="submit" name="generateBarcode" value="Generar Código">
    </div>
</form>

 

Además de los campos que se muestran en el formulario tenemos otros dos campos “hidden” que no se ven pero que contienen información importante para la generación del código. El valor de estos campos será siempre fijo para todos los códigos que se generen a partir de este formulario. Los campos a los que hacemos referencia son:

  • barcodeSize: Lo utilizamos para indicar la altura del código de barras generado. En nuestro caso le hemos asignado el valor 20.
  • printText: Mediante este campo, le indicaremos si queremos que en el código de barras se pinte el texto que hayamos introducido en el campo “Nombre del producto”. Si el valor es “true” se pintará. Por el contrario, si le asignamos un valor “false” no se mostrará.

 

Librería para generar los códigos de barras

Para generar el código de barras utilizaremos una librería ya desarrollada que permite hacerlo de forma rápida y sencilla, lo que nos ayudará a ahorrar mucho tiempo y esfuerzo. Dicha librería cuenta con diferentes opciones de configuración a la hora de generar el código:

  • Crear códigos de diferentes formatos: Codabar, Code128 o Code39.
  • Elegir la orientación del código de barras generado.
  • Definir el tamaño del código
  • Agregar un texto al código de barras

Si os fijáis, todas estas opciones las vamos a gestionar desde el formulario anterior, ya sea el cliente quien las elija o mediante los valores fijos ocultos que hemos añadido y que hemos explicado anteriormente.

 

Código PHP para la generación del código de barras

Una vez que tengamos creado el formulario y descargada la librería, será el momento de crear nuestro código de barras. Para ello, lo que tendremos que hacer será capturar los valores que se envían desde el formulario anterior, para después, pasárselos a la librería que se encargará de pintar el código de barras.

El código PHP que se encargará de hacer todo esto es el siguiente:

Código PHP
if(isset($_POST['generateBarcode'])) {
  $barcodeText = trim($_POST['barcodeText']);
  $barcodeType=$_POST['barcodeType'];
  $barcodeDisplay=$_POST['barcodeDisplay'];
  $barcodeSize=$_POST['barcodeSize'];
  $printText=$_POST['printText'];

  if($barcodeText != '') {
    echo '<h4>Barcode:</h4>';
    echo '<img class="barcode" alt="'.$barcodeText.'"  src="barcode.php?text='.$barcodeText.'&codetype='.$barcodeType.'&orientation='.$barcodeDisplay.'&size='.$barcodeSize.'&print='.$printText.'"/>';
  }else{
    echo '<div class="alert alert-danger">Introduzca el nombre del producto para generar el código</div>';
  }
}

 

Lo primero que haremos será comprobar que se ha enviado el formulario. Esto lo hacemos en la primera línea del código.

if(isset($_POST['generateBarcode'])) {

 

Después, recuperamos todos los valores que se han enviado desde el formulario, tanto los dos valores de tipo “hidden” como los introducidos por el usuario. Todos estos valores estarán dentro de la variable “$_POST” de PHP.

$barcodeText = trim($_POST['barcodeText']);
$barcodeType=$_POST['barcodeType'];
$barcodeDisplay=$_POST['barcodeDisplay'];
$barcodeSize=$_POST['barcodeSize'];
$printText=$_POST['printText'];

 

Una vez que tengamos todos los valores, verificaremos si el campo del “Nombre del producto” no venga vacío. Si no fuera así, mostraríamos un mensaje informando de ello y el código de barras no se pintaría.

if($barcodeText != '') {
    ……………..
}else{
    echo '<div class="alert alert-danger">Introduzca el nombre del producto para generar el código</div>';
}

 

Si por el contrario, ese campo no estuviera vacío, entonces hacemos la llamada a la librería que se encargará de generar la imagen del código de barras, pasándole los valores enviados desde el formulario como parámetros.

    echo '<img class="barcode" alt="'.$barcodeText.'"  src="barcode.php?text='.$barcodeText.'&codetype='.$barcodeType.'&orientation='.$barcodeDisplay.'&size='.$barcodeSize.'&print='.$printText.'"/>';

 

Este código será el encargado de pintar en la pantalla el código de barras generado.

Como hemos podido ver en este White Paper, generar un código de barras con PHP es muy sencillo y sus beneficios muchos para cualquier comercio electrónico.

 

 

Si quieres estar a la última en tecnología y conocer todo lo que se mueve en el sector, ¡suscríbete a nuestro boletín!

Logotipo de acenews

3 comentarios

  1. Que facil de usar!Muchas gracias!

  2. Gracias por los códigos, lo hemos aplicado y funcionan sin conflictos en la web

Déjanos un comentario o cuéntanos algo.

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.