Crear un archivo PDF con PHP


El 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 $this->Cell($w,7,$header,1,0,’C’,1);
$this->Ln();

//Restauración de colores y fuentes
$this->SetFillColor(224,235,255);
$this->SetTextColor(0);
$this->SetFont(»);

//Datos
$fill=false;
foreach($data as $row)
{
foreach($w as $k=>$col){
$this->Cell($col,6,$row,’LR’,0,’L’,$fill);
}

$this->Ln();
$fill=!$fill;
}
$this->Cell(array_sum($w),0,»,’T’);
}
}
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(‘Nombre’,’E-Mail’,’Twitter’);

//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(‘Arial’,»,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.

Califica este Artículo

Categoría: Programación.




Deja una respuesta