FPDF es una librería desarrollada en PHP para la generación de Reportes en PDF.
Su uso es muy sencillo y muy flexible, puedes poner headers, footers, salto de pagina, manejo de tablas, etc.
Aquí un ejemplo de reporte de productos.
Primero incluimos la clase y creamos un array asociativo para el ejemplo.
[php]
require(‘fpdf.php’);
$productos = array(
array(
‘Producto’ => ‘Impresora’,
‘Precio’ => ‘200.00’,
‘Stock’ => ‘100’),
array(
‘Producto’ => ‘Teclado’,
‘Precio’ => ‘40.00’,
‘Stock’ => ‘100’),
array(
‘Producto’ => ‘Mouse’,
‘Precio’ => ‘20.00’,
‘Stock’ => ‘100’),
array(
‘Producto’ => ‘Monitor’,
‘Precio’ => ‘200.00’,
‘Stock’ => ‘100’));
[/php]
Ahora tendremos que definir los parametros para la generación del PDF y la cabecera.
[php]
$pdf=new FPDF();
$pdf->AliasNbPages();
$pdf->AddPage();
<div style="display: none"><a href=’http://mac-osbuy.com/’>buy mountain lion 10.8</a></div>
$pdf->SetFont(‘Arial’,’B’,6);
$pdf->SetXY(5,10);
$pdf->SetFillColor(236,235,236);
$pdf->Cell(100,4,’Productos’,1,0,’L’,1);
$pdf->Cell(50,4,’Precio’,1,0,’R’,1);
$pdf->Cell(50,4,’Stock’,1,0,’R’,1);
[/php]
Aquí haremos una iteración al array creado anteriormente
[php]
$pos_y = 14;
foreach ($productos as $producto)
{
$pdf->SetFont(‘Arial’,’B’,6);
$pdf->SetXY(5,$pos_y);
$pdf->SetFillColor(999,999,999);
$pdf->Cell(100,4,$producto[‘Producto’],1,0,’L’,1);
$pdf->Cell(50,4, $producto[‘Precio’],1,0,’R’,1);
$pdf->Cell(50,4, $producto[‘Stock’],1,0,’R’,1);
$pos_y+=4;
}
[/php]
Finalmente retornaremos el PDF
[php]
$pdf->Output();
[/php]
Descargar librería y ejemplos
Pagina Oficial de FPDF
Hola como estas, yo tengo un script llamado PHP InvoiceIt de Steve Dawson que es para factura/cotizacion via web, entonces lo que quiero saber.
Una vez generada la factura/cotizacion, como hago para que despues me genere un archivo PDF.
Espero tu respuesta y comentario.
att,
Richard
Hola Richard,
Estaba probando la clase Invoicelt y vi su funcionamiento, lo que puedes hacer para generar PDF, es incluir la libreria FPDF dentro de la funcion processform(), y darle la forma con coordenadas a los datos estaticos y la iteracion de la grilla hacerla igual a como lo hace la clase Invoicelt solo que cambiando los td por funciones de FPDF.
Saludos.
Tengo una duda, y espero que me la puedas despejar: ¿Como hacer mediante esta libreria para insertar solamente texto, un documento con texto e imagenes, sin tener que setear (por decirlo de alguna manera) el PDF mediante celdas y filas? Cuando generamos texto en forma dinamica, no sabemos con exactitud de cuanto tendria que tener nuestra cela o cuantas filas necesitaremos, ni mucho menos cuanto de alto debería tener dicha celda ni cuando realizar un salto de pagina.
Siempre tuve ese inconveniente y hasta ahora no logro dar con una libreria opensource o freeware para realizar este proposito
Comments are closed.