Inicio > Desarrollo Web > Tutoriales de Laravel > Genera PDFs en Laravel con DomPDF de forma sencilla

Genera PDFs en Laravel con DomPDF de forma sencilla

Diego Cortés
Diego Cortés
January 21, 2025
Genera PDFs en Laravel con DomPDF de forma sencilla

En el mundo del desarrollo web, la generación de documentos PDF es una funcionalidad que muchas aplicaciones requieren. Ya sea para informes, facturas u otro tipo de documentos, contar con una herramienta que realice esta tarea de manera eficiente puede ahorrarte tiempo y esfuerzo. En esta ocasión, te mostramos cómo utilizar DomPDF en Laravel para generar archivos PDF de forma sencilla.

¿Qué es DomPDF?

DomPDF es una biblioteca de PHP que permite transformar HTML y CSS en archivos PDF. Es especialmente útil para aquellos que trabajan con Laravel, ya que se integra fácilmente en esta plataforma. Con DomPDF, podrás crear documentos PDF estilizados que mantengan la presentación que has diseñado en HTML. 

Instalación de DomPDF en Laravel

La instalación de DomPDF en un proyecto de Laravel es un proceso sencillo. Para ello, se recomienda utilizar Composer, el gestor de dependencias de PHP. Sigue estos simples pasos:

  1. Instalación a través de Composer: Abre la terminal en tu proyecto Laravel y ejecuta el siguiente comando:
  2. composer require barryvdh/laravel-dompdf
  3. Publicación del archivo de configuración: Luego, puedes publicar la configuración de DomPDF con:
  4. php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider"
  5. Verificación: Para asegurarte de que la instalación fue exitosa, puedes consultar el archivo de configuración config/dompdf.php.

Generación de un PDF básico

Una vez que DomPDF está instalado, el siguiente paso es generar un PDF básico. Primero, se debe crear una vista que contenga el HTML que deseas convertir en PDF. Puedes hacer esto en el directorio resources/views.

Ejemplo de código para la vista

Crea un archivo llamado documento.blade.php con el siguiente contenido:

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>PDF de Ejemplo</title>
    <style>
        body { font-family: DejaVu Sans, sans-serif; }
        h1 { color: #333; }
        p { margin: 20px 0; }
    </style>
</head>
<body>
    <h1>Titulo del Documento PDF</h1>
    <p>Este es un ejemplo de contenido que se incluirá en el archivo PDF.</p>
</body>
</html>

Controlador para generar el PDF

Ahora, para generar el PDF, necesitarás crear un controlador. Ejemplo de controlador:

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\PDFController;

class PDFController extends Controller
{
    public function generarPDF()
    {
        $pdf = app('dompdf.wrapper');
        $pdf->loadView('documento'); 
        return $pdf->stream('documento.pdf'); 
    }
}

Definir la ruta

Por último, no olvides definir la ruta en el archivo web.php para acceder al PDF generado:

Route::get('/generar-pdf', [PDFController::class, 'generarPDF']);

Personalización del PDF

Uno de los aspectos destacados de DomPDF es la capacidad de personalizar el PDF generado. Puedes añadir encabezados, pies de páginas, imágenes y más, utilizando CSS para estilizar tu contenido. Además, esta biblioteca es compatible con muchas propiedades CSS comunes, lo que facilita la creación de documentos atractivos.

Conclusión

Generar PDFs en Laravel con DomPDF es un proceso relativamente sencillo que puede añadir gran valor a tus aplicaciones. Siguiendo los pasos mencionados, podrás crear documentos PDF estilizados en poco tiempo. 

Te invito a seguir explorando más noticias y tutoriales relacionados en mi blog, donde encontrarás recursos útiles para mejorar tus habilidades de desarrollo. ¡No te lo pierdas!

Diego Cortés
Diego Cortés
Full Stack Developer, SEO Specialist with Expertise in Laravel & Vue.js and 3D Generalist

Categorías

Page loaded in 23.95 ms