Aprende a crear bloques de cabecera y pie de página para los archivos pdf generados desde PHP mediante la librería FPDF.
En este artículo vamos a ver cómo se puede editar la cabecera y el pie del archivo pdf, de tal forma que podamos darle un estilo personal.
Para editar la cabecera necesitamos heredar la clase FPDF y sobrescribir los métodos Header() y Footer().
Cabecera
Vamos a comenzar con la cabecera de nuestro archivo pdf. Lo que vamos a hacer es colocarle un logo y una serie de estilos.Pongo el código a continuación y vamos explicándolo paso a paso.
<?php
require('fpdf.php');
class PDF extends FPDF
{
//Cabecera de página
function Header()
{
$this->Image('logo.png',10,8,33);
$this->SetFont('Arial','B',12);
$this->Cell(30,10,'Title',1,0,'C');
}
}
//Creación del objeto de la clase heredada
$pdf=new PDF();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
//Aquí escribimos lo que deseamos mostrar...
$pdf->Output();
?>
Las dos primeras líneas ya las hemos visto en el artículo Instalación y primeros pasos para generar PDF en PHP con FPDF .
La línea $this->Image ('logo.png',12,9,30);
nos coloca la imagen que le pasamos por parámetro. En esta función pasamos como parámetro el archivo donde se encuentra la imagen, la abscisa de la esquina superior izquierda, ordenada de la esquina superior izquierda y la anchura de la imagen. Podemos pasar más parámetros pero ya lo comentaremos más adelante.
En la siguiente línea ($this->SetFont('Arial','B',12);) damos formato al texto de la cabecera. (esta función la hemos visto en el articulo Funciones de FPDF
La línea $this->Cell (30,10,'Title',1,0,'C');
nos imprime el Título del documento. También lo hemos visto en el artículo Funciones de FPDF.
Una vez que hemos terminado de sobrescribir el método Header tan sólo nos queda crear el objeto de la clase heredada y realizar nuestro documento pdf.
Pie
Para dar formato al pie tenemos que realizar la misma operación que con la cabecera, es decir, sobrescribir el método Footer. Para ello vamos ha realizar la misma operación que antes. Os dejo el ejemplo y lo vamos explicando.
<?php
require('fpdf.php');
class PDF extends FPDF
{
//Pie de página
function Footer()
{
$this->SetY(-10);
$this->SetFont('Arial','I',8);
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}
//Creación del objeto de la clase heredada
$pdf=new PDF();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
//Aquí escribimos lo que deseamos mostrar
$pdf->Output();
?>
Como en el anterior ejemplo ya hemos explicado lo que hacen las primeras líneas vamos a pasar directamente al método Footer.
La línea $this->SetY (-15);
nos posiciona el pie a 1,0 cm del final.
La siguiente línea nos da el formato del texto del pie.
La última línea del método nos imprime el número de página actual. Con un margen que se extiende hasta el margen de la derecha, un alto de celda de 10 (el formato de medida depende del dado al inicio), un texto similar a esto Page 2, sin borde, con salto de línea a la derecha y el texto centrado.
Con esto tendríamos maquetados nuestra cabecera y pie de pagina en pdf. Aunque cabe destacar que podemos realizar más operaciones en la cabecera y pie, como por ejemplo darle fondo a las celdas, rellenarlas de colores, etc. Las funciones utilizadas para estos casos las veremos en el próximo artículo sobre FPDF.
Como has podido comprobar, esta práctica aporta mucha calidad a los documentos PDF y será básica casi en cualquier trabajo. En los siguientes artículos del manual de FPDF seguiremos trabajando con ella.
En la próxima entrega nos dedicaremos a algo también fundamental, como insertar imágenes en los archivos PDF.