a librería DomPDF es una sencilla alternativa para la construcción de PDF en
PHP. Nos ofrece la posibilidad de crear los documentos PDF a partir de código
HTML, que puede residir en un archivo, una cadena de texto, etc. A partir de
ese código HTML crea un documento PDF que se puede descargar, almacenar
en el servidor o cualquier otra operación que se desee.
Alternativas para crear PDF en PHP hay varias, pero esta es interesante por no
depender de otros programas de compleja instalación. Genera el PDF con
bastante fidelidad a partir del código HTML y soporta casi todo el CSS de nivel
2 y algo de CSS 3. De todos modos, si no es la que te interesa, puedes
consultar otros artículos de [Link] donde ya hemos tratado
la creación de PDF por ejemplo con FPDF.
Yo la seleccioné porque necesitaba una herramienta que me permitiese crear
documentos con cabecera y pie de página, que se repitieran a lo largo de todas
las páginas del PDF. Eso se consigue a partir de un código HTML sencillo que
luego veremos.
La mayor precaución que se debe tomar para usar la librería DomPFD con
mejores resultados es tener un HTML de origen bien formado. Se lleva mal con
el HTML incorrecto, por lo que no es mala idea contar con alguna otra librería
como Tidy o HTML Purify que pueden ayudar al filtrar cosas y saber si el HTML
está correcto.
Instalación de DomPDF para PHP
La instalación se realiza en Laravel por medio de un “wraper” o envoltura, que
nos ofrece directamente el “service provider” que necesitamos para integrarlo
en el framework. Lo podemos instalar usando Composer, que ya sabemos es el
gestor de paquetes para PHP.
Para agregar la dependencia que necesitamos, lanzamos el siguiente comando:
composer require barryvdh/laravel-dompdf
Eso nos descargará el propio wraper, pero también todas sus dependencias
que no tengamos todavía como la librería DomPDF.
Alternativa más manual de instalación de laravel-dompdf
Otra alternativa para instalación sería editar directamente el archivo
[Link] agregamos esta dependencia en el objeto “require”
"barryvdh/laravel-dompdf": “0.8.*"
Luego ejecutamos en la terminal, desde la raíz del proyecto, el comando:
composer update
Asociar el ServiceProvider para versiones 5.x
Ahora nos queda asociar este service provider en nuestro
archivo config/[Link] Nos dirigimos a la lista de todos los proveedores de
servicio y en el array 'providers' agregamos:
Barryvdh\DomPDF\ServiceProvider::class,
Este paso no es necesario en versones más recientes de Laravel, desde Laravel
6 en concreto.
Añadir la fachada "PDF"
Además, opcionalmente podremos incluir la fachada que nos proporciona esta
librería. Se trata de una envoltura, o “facade”, ya sabes, una fachada para
ahorrar un poco de código a la hora de usar esta clase por medio de funciones.
Esta la tienes que configurar en el array ‘aliases’, también sobre el mismo