Crear PDF con PHP

l siguiente tutorial para crear archivos PDF con PHP con FPDF explica su implementación y también un archivo demo para descargar y revisar.

FPDF es una librería Open source para PHP y la creación de archivos PDF, es muy sencilla y flexible para utilizar.

Características.

  • Elección de formato de página y margen.
  • Colocar cabeceras y pies de página.
  • Saltos de página automáticos.
  • Soporte de imágenes.
  • Personalización de fuentes.

El siguiente ejemplo muestra como hacer una tabla utilizando FPDF.

Paso 1: descargar la librería FPDF

La podemos descargar del sitio oficial de FPDF.
Solamente necesitaremos el archivo fpdf.php.

Paso 2: Creando una clase reutilizable.

Esta clase la copie y modifique de la misma página de FPDF, el cambio esta en que no tenemos que modificar la clase para elegir el numero de columnas que deseamos mostrar.

Clase PdfTable (para generar tablas en los PDF)

require('fpdf.php');
class PdfTable extends FPDF
{

function FancyTable($header,$data,$w)
{
	//Colores, ancho de línea y fuente en negrita
	$this->SetFillColor(0, 126, 216);
	$this->SetTextColor(255);
	$this->SetDrawColor(0, 126, 216);
	$this->SetLineWidth(.3);
	$this->SetFont('','B');
	
	//Cabecera
	
	for($i=0;$i<count($header);$i++)
		$this->Cell($w[$i],7,$header[$i],1,0,&#039;C&#039;,1);
	$this->Ln();
	
	//Restauración de colores y fuentes
	$this->SetFillColor(224,235,255);
	$this->SetTextColor(0);
	$this->SetFont(&#039;&#039;);
	
	//Datos
	$fill=false;
	foreach($data as $row)
	{
		foreach($w as $k=>$col){
			$this->Cell($col,6,$row[$k],&#039;LR&#039;,0,&#039;L&#039;,$fill);
		}
		
		$this->Ln();
		$fill=!$fill;
	}
	$this->Cell(array_sum($w),0,&#039;&#039;,&#039;T&#039;);
}
}

Paso 3: Utilizando la Clase PdfTable a nuestra necesidad

Llamando a esta clase lo único que debemos hacer es definir que columnas queremos mostrar y darle al ancho necesario a cada una, luego almacenar en un array los datos de cada columna.

//instanciamos la clase
$pdf=new PdfTable();

//Títulos de las columnas
$header=array(&#039;Nombre&#039;,&#039;E-Mail&#039;,&#039;Twitter&#039;);

//anchos de cada columna
$widths=array(40,70,40);

//Carga de datos
$data=array(
array("Juan","jperez@hotmail.com","@jperez"),
array("Mario","mmoreno@hotmail.com","@mariom"),
array("Luis","lgomez@hotmail.com","@luisluis"),
array("Javier","jchavez@hotmail.com","@xavierx")
);

$pdf->SetFont(&#039;Arial&#039;,&#039;&#039;,14);
$pdf->AddPage();
$pdf->FancyTable($header,$data,$widths);
$pdf->Output();

De esta manera nos libramos un poco del código para crear tablas en los PDF.

Para más documentación pueden entrar a la página oficial de FPDF.

Librerías para generar PDF con PHP.

Descargar Ejemplozp8497586rq

También te puede interesar

3 Comments

  1. CaChi
    sep 19, 2010 @ 17:45:30

    Hay una mejor opción a FPDF, llamada TCPDF veo que fpdf se quedó estancada no recibe mas update incluso su última versión fue lanzada en el 2008 de allá PHP como lenguaje ha hecho muchas mejoras que seguramente no han sido aprovechadas por fpdf por eso recomiendo TCPDF…

  2. Sairam
    oct 02, 2011 @ 16:35:15

    Buenas, como hago para que la tabla me salga centrada?
    Gracias!

  3. diana
    nov 29, 2011 @ 17:23:57

    ola en donde lo veo el pdf creado