Librería FPDF desde codeigniter

FPDF en Codeigniter (página en blanco)

Hugui Dugui

En esta entrada se va a crear un archivo PDF haciendo uso de la librería FPDF con el framework codeigniter 3. Veremos los pasos a seguir para usar la librería desde la carpeta third_party.

Comenzando con el ejemplo, se harán los 3 pasos de siempre para una instalación de Codeigniter:

  1. Configurar el base_url()
  2. Quitar index.php de la url
  3. Agregar el htaccess para el paso anterior

1. Vamos a application/config/config.php:

<?php
   $config['base_url'] = 'http://localhost/codeigniterFpdf/';
?>

2. Aquí mismo en application/config/config.php:

<?php
    //$config['index_page'] = 'index.php';
    $config['index_page'] = ''; //Quedará así
?>

3. Finalmente agregamos el htaccess que se coloca en la raíz del proyecto:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond $1 !^(index.php|resources|robots.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

Ahora vamos a application/config/routes.php para cambiar el controlador por default:

<?php
   $route['default_controller'] = 'inicio';
?>

Tenemos que descargar la librería FPDF desde su sitio oficial. Para este tutorial se usó la versión 1.8.1 de FPDF. (PHP7, Codeigiter 3).

Vamos a application/third_party y aquí creamos una carpeta que se llame fpdf y dentro de ésta se descomprime la librería, así como se muestra en la siguiente imagen:


Para usar la librería vamos a application/controllers/Inicio.php creamos el método index que tendrá una vista que muestre solo un link para que al dar click se genere un PDF con una hoja en blanco en una pestaña nueva en el navegador. Entonces el index tiene lo siguiente:

<?php
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');
}

La vista en application/views/body/principal.php contiene 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>
    </div>
  </div>
</div>

Se ve así:


Ahora en el controlador Inicio.php creamos el método hojaEnBlanco() como se muestra a continuación:

<?php
public function hojaEnBlanco()
{
     //Se agrega la clase desde thirdparty para usar FPDF
     require_once APPPATH.'third_party/fpdf/fpdf.php';
        
     $pdf = new FPDF();
     $pdf->AddPage('P','A4',0);
     $pdf->SetFont('Arial','B',16);
     $pdf->Cell(0,0,'Hola mundo FPDF desde Codeigniter',0,1,'C');
     $pdf->Output('paginaEnBlanco.pdf' , 'I' );
}


Listo, con esto ya tenemos instalado FPDF en codeigniter en su carpeta de third party para usarlo, en este gif vemos el funcionamiento:



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.