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 .