Inicio Blog Cursos Foro

Generar pdf con Dompdf en Laravel


author_post
José Luis Guisado

En muchas ocasiones necesitamos que nuestra aplicación cuente con la funcionalidad de generar pdf o la exportación de excel, como puede ser en el caso de una factura. Para esta funcionalidad utilizamos librerías que nos facilitan la generación de pdf con funcionalidades para su desarrollo y diseño, pero muchas de estas librerías son muy tediosas.

Dompdf es un paquete muy sencillo para generar PDF en Laravel, creado por barryvdh, que nos permite crear a partir de un documento HTML un documento PDF con pocas líneas de código y además hacer uso del motor de plantilla blade para la impresión de datos de forma dinámica.

Instalación de Dompdf en laravel

 

Descargamos mediante composer el paquete DOMPDF

Una vez hecho esto, debemos añadir el ServiceProvider en el archivo app.php, que se encuentra en config/app.php:

Después, para llamar a la clase de una forma más rápida, podemos añadir esta línea de codigo en el apartado de facades, de esta forma llamaremos a la clase con el nombre "PDF":

Tras añadir este par de líneas, ya podemos hacer uso de Dompdf para generar nuestros propios PDF.

Creando la plantilla de nuestro PDF

 

Para comenzar, crearemos una vista llamada “ejemplo”  que se generará como PDF:

Como vemos, el CSS de la vista debe ir añadido en la misma.

Configurando la exportación


Crearemos la ruta:

Y en el controlador (en este caso llamado GeneradorController) crearemos el siguiente método:

Hacemos uso de la clase mediante el facade PDF que le hemos añadido en el archivo config/app.php. Utilizamos el método LoadView para seleccionar la vista que queremos exportar y el método download para añadirle un nombre al PDF.

Si quisiéramos enviar variables a la vista para hacer uso de éstas, sería de la siguiente forma:

Mediante el método compact enviaremos la variable “today”, que contiene el día actual, y podemos hacer uso de blade para mostrar esta variable en la vista:

Tras estos sencillos pasos, ya podríamos generar nuestro PDF.

Para más información sobre el paquete DomPDF visita su repositorio aquí: Laravel-dompdf

¡No te pierdas nuevas entradas! Sí­guenos en nuestras redes sociales

¿Tienes alguna duda sobre el artículo? ¡Pregunta!