Mr. Experto necesito ayuda con código barra

Bueno estoy realizando un programa el cual necesito realizar códigos barras esta información la recoge de la variables que genera ya que este código viene hacer la identificación de cliente como el numero de una factura que estoy generando y la vez imprimirla.

pregunta .

Como podría realizar esto por donde empiezo.

Respuesta
2

Hay dos maneras que conozco para crear código de barra en php.

Si lo tienes que mostrar en el navegador no queda otra que hacerlo con alguna clase que dibuje con las librerías GD.

Aquí tienes una:
http://vitaminageek.com/php-y-mysql/crear-codigos-de-barra-en-php/

Si ademas necesitas exportar el documento a pdf y que ese pdf contenga el código de barras la mejor opción es FPDF. Es una clase que podrás encontrar en fpdf.org (esta clase te permite crear documentos en pdf. En la parte de script de esta página hay uno que se llama Code 128 barcodes (genera códigos EAN128) que yo utilizo bastante, pero tienes otros como barcodes 39 y alguno mas.

Si me podrías ayudar como lo realizo es la primera vez que voy a usar una clas como se utiliza ose adiciona a tu php.

disculpa gracias.

Ya te di información sobre como generar códigos de barras. Si quieres que sea mas especifico empezá por ser vos mas específico.

Cito partes de tu pregunta que no entendí:

-"la recoge de las variables que genera"

¿Qué variables?

-"Ya que este código viene hacer la identificación de cliente como el numero de una
Factura que estoy generando y la vez imprimirla."

¿Quieres un código de barras para identificar un cliente o para identificar una factura?

El código de barras es solo una codificación gráfica de "barras" de una cadena de números y/o caracteres. Pero esa cadena debes tenerla previamente en la base de datos asociada a tu factura o cliente y asegurarte quno se repita cuando agregues nuevos registros.

¿Qué tipo de código vas a usar Code 128, Code 39 o Code 93, EAN13 o otro?

Acá tenes los tipos.

<a>http://es.wikipedia.org/wiki/C%C3%B3digo_de_barras#Tipos_de_c.C3.B3digos_de_barras</a>

Te pongo un ejemplo de código de EAN13.

Bajate la clase fpdf de www.fpdf.org

Crea un archivo que se llame ean13.php
Este archivo añade la función EAN13 a la clase fpdf. Solo crealo y listo.

¿
<?php
//Aca fijate que la ruta apunte al archivo fpdf.org que bajaste.
require('fpdf.php');
class PDF_EAN13 extends FPDF
{
function EAN13($x, $y, $barcode, $h=16, $w=.35)
{
 $this->Barcode($x,$y,$barcode,$h,$w,13);
}
function UPC_A($x, $y, $barcode, $h=16, $w=.35)
{
 $this->Barcode($x,$y,$barcode,$h,$w,12);
}
function GetCheckDigit($barcode)
{
 //Compute the check digit
 $sum=0;
 for($i=1;$i<=11;$i+=2)
 $sum+=3*$barcode[$i];
 for($i=0;$i<=10;$i+=2)
 $sum+=$barcode[$i];
 $r=$sum%10;
 if($r>0)
 $r=10-$r;
 return $r;
}
function TestCheckDigit($barcode)
{
 //Test validity of check digit
 $sum=0;
 for($i=1;$i<=11;$i+=2)
 $sum+=3*$barcode[$i];
 for($i=0;$i<=10;$i+=2)
 $sum+=$barcode[$i];
 return ($sum+$barcode[12])%10==0;
}
function Barcode($x, $y, $barcode, $h, $w, $len)
{
 //Padding
 $barcode=str_pad($barcode,$len-1,'0',STR_PAD_LEFT);
 if($len==12)
 $barcode='0'.$barcode;
 //Add or control the check digit
 if(strlen($barcode)==12)
 $barcode.=$this->GetCheckDigit($barcode);
 elseif(!$this->TestCheckDigit($barcode))
 $this->Error('Incorrect check digit');
 //Convert digits to bars
 $codes=array(
 'A'=>array(
 '0'=>'0001101','1'=>'0011001','2'=>'0010011','3'=>'0111101','4'=>'0100011',
 '5'=>'0110001','6'=>'0101111','7'=>'0111011','8'=>'0110111','9'=>'0001011'),
 'B'=>array(
 '0'=>'0100111','1'=>'0110011','2'=>'0011011','3'=>'0100001','4'=>'0011101',
 '5'=>'0111001','6'=>'0000101','7'=>'0010001','8'=>'0001001','9'=>'0010111'),
 'C'=>array(
 '0'=>'1110010','1'=>'1100110','2'=>'1101100','3'=>'1000010','4'=>'1011100',
 '5'=>'1001110','6'=>'1010000','7'=>'1000100','8'=>'1001000','9'=>'1110100')
 );
 $parities=array(
 '0'=>array('A','A','A','A','A','A'),
 '1'=>array('A','A','B','A','B','B'),
 '2'=>array('A','A','B','B','A','B'),
 '3'=>array('A','A','B','B','B','A'),
 '4'=>array('A','B','A','A','B','B'),
 '5'=>array('A','B','B','A','A','B'),
 '6'=>array('A','B','B','B','A','A'),
 '7'=>array('A','B','A','B','A','B'),
 '8'=>array('A','B','A','B','B','A'),
 '9'=>array('A','B','B','A','B','A')
 );
 $code='101';
 $p=$parities[$barcode[0]];
 for($i=1;$i<=6;$i++)
 $code.=$codes[$p[$i-1]][$barcode[$i]];
 $code.='01010';
 for($i=7;$i<=12;$i++)
 $code.=$codes['C'][$barcode[$i]];
 $code.='101';
 //Draw bars
 for($i=0;$i<strlen($code);$i++)
 {
 if($code[$i]=='1')
 $this->Rect($x+$i*$w,$y,$w,$h,'F');
 }
 //Print text uder barcode
 $this->SetFont('Arial','',12);
 $this->Text($x,$y+$h+11/$this->k,substr($barcode,-$len));
}
}
?>

acá va un código de ejemplo de como crear un código de barras en un pdf.

<?php
//incluye el archivo que creaste antes
require('ean13.php');
//instancias la clase fpdf (crea doc pdf)
$pdf=new PDF_EAN13();
//añadis pagina
$pdf->AddPage();
//creas el codigo de barras.
//fiajte que a la funcion EAN13 le pasas 3 parametros en este ejemplo pero
//tiene 5 parametros
/*
x: posicion x del codigo de barras en la hoja
y: posicion x del codigo de barras en la hoja
barcode: valor de codigo de barras
h: alto del codigo. Default : 16.
w: ancho de las barras. Default: 0.35.
*/
//
$pdf->EAN13(80,40,'123456789012');
$pdf->Output();
?>

Con esto ya podes crear códigos de barras .

Gracias por la ayuda si que me sirvió de mucho, y sorry por no especificarle bien, pero su ayuda me sirvió de mucho mas el ejemplo que me ha puesto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas