Continuando con la entrada anterior donde creamos una hoja en blanco usando la librería FPDF desde Codeigniter, en esta entrada se va a hacer el código necesario para crear el Header y Footer en cada hoja generada.
Para esta entrada vamos a crear en la vista que ya había un nuevo botón que al clickarlo, generará un PDF el cual tendrá en cada página el Header y el Footer.
La vista tiene lo siguiente:
<div class="container"> <div class="row"> <div class="col-md-12 text-center" > <h1> Generación de PDF con la librería FPDF <br> en Codeigniter </h1> <br> <a class="btn btn-success" href="<?php echo base_url();?>inicio/hojaEnBlanco" target="_blank"> Generar hoja en blanco </a> <br><br> <a class="btn btn-success" href="<?php echo base_url();?>inicio/paginaHeaderFooter" target="_blank"> Generar PDF con Header y Footer </a> </div> </div> </div>
Y se verá así:
Ahora creamos un nuevo método que se llamará paginaHeaderFooter(). Aquí el código completo del controlador:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); require_once APPPATH.'third_party/fpdf/fpdf.php'; class Inicio extends CI_Controller { public function __construct(){ parent::__construct(); } public function index() { $datos['titulo'] = 'Generar PDF con librería FPDF desde Codeigniter'; $this->load->view('headfoot/header', $datos); $this->load->view('body/principal'); $this->load->view('headfoot/footer'); } public function paginaHeaderFooter() { $pdf = new PDF(); $pdf->AddPage('P','A4',0); $pdf->SetFont('Arial','B',12); // Se crean números para generar algunas páginas en el documento for ($i=0; $i < 200; $i++) { $pdf->Cell(0,10,utf8_decode('Repitiendo un número para ver header y footer ') . $i ,0,1,'C'); $pdf->Ln(); } $pdf->Output('paginaEnBlanco.pdf' , 'I' ); } } /* * Con este código se crea el HEADER y FOOTER */ class PDF extends FPDF { function Header() { $this->SetFont('Arial','B',15); $this->Cell(0,10,utf8_decode('Este header se muestra en cada página generada'),1,0,'C'); $this->Ln(20); } function Footer() { $this->SetY(-15); $this->SetFont('Arial','I',8); $this->Cell(0,10,utf8_decode('Este footer se muestra en cada página generada'),1,0,'C'); $this->Cell(-15,10,utf8_decode('Página ') . $this->PageNo(),0,0,'C'); } }
Acá el resultado en un gif:
No olvides que puedes descargar el zip de esta entrada con el proyecto completo listo para usar en tu localhost FPDF desde Codeigniter. Espero que me quieras compartir tus avances y/o dudas en el grupo de facebook del curso.
Si quieres puedes escribirme a ringhugos@gmail.com o al whatsapp para cualquier comentario o duda que tengas sobre este tutorial.