Aprende en casa Ir a KODOTI
Aprende en casa KODOTI

Exportar HTML a PDF en PHP de manera fácil

En este ejemplo vamos a enseñar a exportar nuestro código HTML a PHP usando la librería domPdf.

Rodríguez Patiño, Eduardo
Rodríguez Patiño, Eduardo
2020-07-07 | 76,426 lecturas

Bien muchachos para los que nos siguen hace tiempo hicimos una entrada donde explicamos como exportar a word/excel de manera práctica usando PHP y HTML. Pero para PDF no es tan sencillo como lo anterior, pero tampoco es dificil ya que vamos a usar una clase llamada domPdf.

De esta web se descargan la clase https://code.google.com/p/dompdf/ de todas formas esta adjunto al material descargable.

Bien hemos usado el mismo código para el ejemplo del word/excel solo que esta modificado teniendo lo siguiente:

Hemos creado un archivo llamado alumnos.php donde esta lógica encargada de pintar la data en forma de tabla html, ya que esto nos va a servir para decirle a nuestra clase domPdf que obtenga el contenido de dicha URl y lo convierta a html.

<?php 
    require_once 'alumno.entidad.php';
    require_once 'alumno.model.php';

    // Logica
    $alm = new Alumno();
    $model = new AlumnoModel();
?>

<h1>Mi primer reporte</h1>
<p>Hemos creado nuestro reporte usando PHP y HTML :).</p>

<table>
    <thead>
        <tr>
            <th >Nombre</th>
            <th >Apellido</th>
            <th >Sexo</th>
            <th >Nacimiento</th>
        </tr>
    </thead>
    <?php foreach($model->Listar() as $r): ?>
        <tr>
            <td><?php echo $r->__GET('Nombre'); ?></td>
            <td><?php echo $r->__GET('Apellido'); ?></td>
            <td><?php echo $r->__GET('Sexo') == 1 ? 'H' : 'F'; ?></td>
            <td><?php echo $r->__GET('FechaNacimiento'); ?></td>
        </tr>
    <?php endforeach; ?>
</table>

Luego hemos creado nuestro archivo output.php el cual es el encargado de generar nuestro PDF, para ello hemos usado la librería

<?php
require_once 'lib/dompdf/dompdf_config.inc.php';

$dompdf = new DOMPDF();
$dompdf->load_html( file_get_contents( 'http://localhost/tutoriales/pdf/alumnos.php' ) );
$dompdf->render();
$dompdf->stream("mi_archivo.pdf");

Analizando nuestro código output.php, podemos ver que todo el contenido es generado mediante el uso de la queryString, es decir parámetros de la URL. Y ahora debemos crear 3 enlaces para saber a que exportar, ya que al darle click a dichos enlaces se comenzara a generar la descarga respectiva ya sea pdf/word/excel.

<a href="output.php?t=word" target="_blank">Word</a>
<a href="output.php?t=excel" target="_blank">Excel</a>
<a href="output.php?t=pdf" target="_blank">Pdf</a>

Y con eso tenemos todo el ejemplo resuelto, ahora procedan a descargar el material adjunto y revisen el código.

Cualquier duda dejan un comentario y les respondo a su correo.


Estudia con nosotros

🚀 Mejora tus oportunidades laborales