106 Como hacer Reportes en PDF del Sistema con LARAVEL(PHP-MySql) FullStack
Duración: 20 minDescripción
📄 Lección 106: Implementación del Módulo de Reportes en PDF
Esta lección marca el inicio del último módulo del sistema: Reportes. Se centra en la configuración de la librería Dompdf en Laravel para la generación de documentos PDF personalizados, a diferencia de los reportes genéricos proporcionados por DataTables.
1. 🛠️ Instalación de la Librería Dompdf
El primer paso para generar reportes PDF personalizados es integrar la librería de PHP Dompdf en el proyecto mediante Composer.
Comando de Instalación: Se ejecuta el siguiente comando en la terminal para descargar la dependencia [01:16]:
Bash
composer require barryvdh/laravel-dompdf
Publicación de Recursos: Una vez instalada, se publica la configuración y los assets de Dompdf para que sean accesibles públicamente en el sistema [03:21]:
Bash
php artisan vendor:publish --provider="Barryvdh\DomPDF\ServiceProvider" --tag=config
2. 🗺️ Creación de Rutas y Permisos
Para integrar el nuevo módulo de reportes en el sistema, es necesario definir la navegación y los permisos de acceso.
a. Enrutamiento
Se definen dos rutas clave dentro del módulo de Doctores para manejar el acceso a la interfaz de reportes y la generación del PDF.
- Vista de Reportes: La ruta GET que abre la interfaz de opciones de reportes [07:03].
- Ruta: /admin/doctores/reportes
- Función: reportes en DoctorController.
- Generación del PDF: La ruta GET que se encargará de ejecutar la generación del archivo PDF [15:10].
- Ruta: /admin/doctores/pdf
- Función: PDF en DoctorController.
b. Permisos
Para asegurar el control de acceso, la nueva ruta de reportes se añade al seeder de permisos, permitiendo el acceso a los roles de Admin y Secretaria [07:44].
- Nota: Si encuentras errores de "Página no encontrada" (404) después de actualizar rutas y permisos, se recomienda limpiar la caché de Laravel con php artisan config:clear, php artisan route:clear y php artisan view:clear [11:27].
3. 🖥️ Diseño de la Interfaz de Reportes
Se crea la vista reportes.blade.php dentro del módulo de Doctores para ofrecer las opciones de generación al usuario.
- Estructura: La vista utiliza un card que ocupa 4 columnas para mantener un diseño limpio [12:40].
- Botones de Opción: Se incluye un botón de ejemplo para generar el "Listado del Personal Médico" (Doctores), el cual enlaza a la ruta de generación de PDF [13:04].
4. 📄 Lógica de Generación del PDF
La función PDF en el controlador maneja la generación del documento final.
Inclusión de la Librería: Es necesario incluir el namespace de la librería Dompdf al inicio del controlador [18:42]:
PHP
use Barryvdh\DomPDF\Facade\Pdf;
Carga de la Vista: Se utiliza la fachada PDF::loadView() para indicar a Dompdf qué vista de Blade debe tomar y convertir a PDF [17:46].
PHP
$pdf = PDF::loadView('admin.doctores.pdf'); return $pdf->stream();
- Vista del PDF: Se crea la vista pdf.blade.php (por ahora con contenido simple) que será renderizada por Dompdf y convertida en el documento final [19:15].
Lecciones
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️