48 REPORTES con DOMPDF en el curso de LARAVEL 10 Sistema de control de asistencia

Duración: 39 min
Módulo: Reportes Profesionales, Roles y Despliegue Final 🛡️ Lección 1 de 9

Descripción

📄 Lección 48: Reportes con DOMPDF

1. 📂 Configuración del Módulo de Reportes

Se preparó la estructura inicial para alojar las funcionalidades de reportes:

  • Menú de Navegación: Se añadió una nueva pestaña llamada "Reportes" al menú lateral, utilizando un ícono de impresora [03:59].
  • Rutas y Controladores: Se definieron dos nuevas rutas y funciones en el AsistenciaController:
    • reportes: Retorna la vista inicial donde se encuentra el botón de imprimir [07:39].
    • pdf: Contiene la lógica para generar el archivo PDF [19:38].
  • Vista Inicial (reportes.blade.php): Se creó una vista para mostrar el botón "Imprimir Reporte", el cual redirige a la ruta que generará el PDF [15:58].

2. 📦 Instalación y Configuración de DOMPDF

Se utilizó el paquete barryvdh/laravel-dompdf para la conversión de HTML a PDF:

  • Instalación: Se instaló el paquete a través de la terminal [24:28]:

    Bash

    composer require barryvdh/laravel-dompdf

  • Configuración del Servicio: Se configuró el Service Provider y el Alias en el archivo config/app.php para que Laravel pueda reconocer la librería [30:45]:

    PHP

    'providers' => [    // ...    Barryvdh\DomPDF\ServiceProvider::class, ], 'aliases' => [    // ...    'PDF' => Barryvdh\DomPDF\Facade::class, ],

3. 📝 Creación de la Vista del Reporte (HTML)

Se creó la vista asistencia/pdf.blade.php, que es la que se convertirá a PDF. Se diseñó con una estructura de tabla limpia que incluye los siguientes campos [21:17]:

  • Un encabezado con el título "Reporte de Asistencias".
  • Una tabla que itera sobre la variable $asistencias.
  • Un contador numérico para el listado de registros [36:40].
  • La fecha de asistencia.
  • El nombre y apellidos del miembro (accediendo a través de la relación: $asistencia->miembro->nombre_apellido).

4. 🚀 Lógica de Generación del PDF

En el método pdf del controlador, se implementó la lógica final:

  1. Consulta de Datos: Se obtuvieron todos los registros de asistencia de la base de datos [34:21].
  2. Carga de la Vista: Se utilizó la clase PDF para cargar la vista HTML del reporte (asistencia.pdf) y pasarle los datos consultados [34:56].
  3. Visualización en PDF: Se retornó la función ->stream('reporte_asistencias.pdf') para que el navegador muestre el contenido como un PDF [37:36].

El resultado final fue la generación exitosa de un documento PDF con todos los registros de asistencias del sistema.