Como crear un Código de Barras en PHP - Detodoprogramacion.org

BUSCADOR

Aprende a como descargar

05 junio 2013

Como crear un Código de Barras en PHP

Como crear un Código de Barras en PHP
Español | Online | Free
Descripción:
Pues a veces nos piden que simulemos un códigos de barras para un determinado producto y no tenemos ni idea o si la tenemos no logramos concretarla, pues te dejo un ejemplo de como hacerlo, ya uds lo pueden mejorar y adaptar según su necesidad.

Manos a la Obra:
Creamos este formulario donde ingresaremos los numero para crear el código de barra

<form action="" method="post">
    Ingrese el Codigo para crear el código de barras:
    <input name="numero" type="text" style="background-color:#CCF"/>
    <input type="submit" value="Enviar" />
</form>

<?php
if(isset($_POST["numero"]) && is_numeric($_POST["numero"]))
{
    //Mostramos la imagen
    echo "<img src='codigoBarras_img.php?numero=".$_POST["numero"]."'>";
}
?>


Creamos el Archivo codigoBarras_img.php para llamarlo al momento de crear el Codigo de barras.

<?php
$altura = 40;
$cod = $_GET['numero'];

function tamano($numero,$altura)
{
    $cifras = strlen($numero) + 1;
    $dim['x'] = 7 + $cifras*6 + 9;
    $dim['y'] = $altura + 1;
    return $dim;
}

$dimensiones = tamano($cod,$altura);
$imagen = imagecreate($dimensiones['x'], $dimensiones['y']);

$blanco = imagecolorallocate($imagen,255,255,255);
$negro = imagecolorallocate($imagen,0,0,0);

imagefill($imagen, 0, 0, $blanco);
imagerectangle($imagen, 0, 0, imageSX($imagen) - 1, imageSY($imagen) - 1, $negro);

function cifra($num)
{
    return str_pad(decbin($num + 5), 4, '0', STR_PAD_LEFT);
}

function barra($y2, $x_ini, $codigo)
{
    global $imagen, $negro, $blanco;
    for($i = 0; $i <=3; $i++)
    {
        if($codigo[$i] == 0)
        {
            $color = $blanco;
        }else{
            $color = $negro;
        }
        $x = $x_ini + $i;
        imageline($imagen, $x, 5, $x, $y2, $color);
    }
}

function codigo($numero)
{
    global $imagen, $negro, $blanco, $altura;
   
    $x = 5;
    barra($altura - 5, $x, "1010");
    $x = $x + 7;
   
    for($e = 0; $e<=strlen($numero) - 1; $e++)
    {
        barra($altura - 15, $x, cifra($numero[$e]));
        imagestring($imagen, 2, $x, $altura - 15, $numero[$e], $negro);
        $x = $x + 6;
    }
    $x = $x + 1;
    barra($altura - 5, $x, "1011");
}

codigo($cod, $altura);
header("Content-type: image/png");
imagepng($imagen);
?>

y el Resultado será este:



Se usa la Codificación seguida para representar el código de barras:
   - Las cifras se representan por (la cifra + 5) en binario natural
   - Cifra 5 al principio (|-|-) más 2 espacios a mayores de lo normal entre cifras
   - 4 unidades por dígito, y 2 de espaciado entre cada dígito.
   - 3 espacios tras el último número, y 1011.


1 comentario:

  1. que tipo de codigo de barra es, ya que tengo un lector y no me reconoce el codigo

    ResponderEliminar

Post Top Ad