asarmiento / laravel-fpdf
Una librería amigable para generar PDFs en Laravel usando FPDF
Requires
- php: ^7.4|^8.0
- illuminate/support: ^8.0|^9.0|^10.0
- setasign/fpdf: ^1.8
Requires (Dev)
- mockery/mockery: ^1.4
- orchestra/testbench: ^6.0|^7.0|^8.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2025-03-20 02:43:28 UTC
README
Una librería amigable para generar PDFs en Laravel usando FPDF. Esta librería proporciona una interfaz fluida y fácil de usar para crear documentos PDF en aplicaciones Laravel.
Características
- Interfaz fluida para generar PDFs
- Configuración personalizable
- Integración sencilla con Laravel
- Basado en la librería FPDF
- Soporte para Laravel 8.x, 9.x y 10.x
Requisitos
- PHP 7.4 o superior
- Laravel 8.x, 9.x o 10.x
Instalación
Puedes instalar el paquete vía composer:
composer require asarmiento/friendly-fpdf
Configuración
-
El Service Provider se registra automáticamente en Laravel 8+.
-
Publica el archivo de configuración:
php artisan vendor:publish --provider="Asarmiento\FriendlyFpdf\FriendlyFpdfServiceProvider"
- Esto creará un archivo
config/friendly-fpdf.php
con las siguientes opciones:
return [ 'default_font' => 'Arial', // Fuente predeterminada 'default_size' => 12, // Tamaño de fuente predeterminado 'margin_left' => 10, // Margen izquierdo en mm 'margin_right' => 10, // Margen derecho en mm 'margin_top' => 10, // Margen superior en mm 'margin_bottom' => 10, // Margen inferior en mm 'orientation' => 'P', // Orientación: P (Portrait) o L (Landscape) 'unit' => 'mm', // Unidad de medida (mm, pt, cm, in) 'format' => 'A4' // Formato del papel ];
Uso Básico
Crear un PDF Simple
use Asarmiento\FriendlyFpdf\Facades\FriendlyFpdf; public function generatePdf() { return FriendlyFpdf::addPage() ->addText('¡Hola Mundo!', 10, 10) ->Output('I', 'documento.pdf'); }
Métodos Disponibles
Gestión de Páginas
// Añadir una nueva página FriendlyFpdf::addPage($orientation = '', $size = '', $rotation = 0);
Texto
// Añadir texto en una posición específica FriendlyFpdf::addText($text, $x = null, $y = null, $align = 'L'); // Los valores válidos para $align son: // 'L' - Alineación izquierda // 'C' - Centrado // 'R' - Alineación derecha
Salida del PDF
// Generar el PDF FriendlyFpdf::Output($destination = 'I', $filename = 'doc.pdf'); // Valores para $destination: // 'I' - Enviar al navegador // 'D' - Forzar descarga // 'F' - Guardar en archivo local // 'S' - Retornar como string
Ejemplos de Uso
Crear un Documento con Múltiples Elementos
use Asarmiento\FriendlyFpdf\Facades\FriendlyFpdf; public function generateReport() { return FriendlyFpdf::addPage() ->addText('Reporte Mensual', 10, 10, 'C') ->addText('Fecha: ' . date('Y-m-d'), 10, 20) ->addText('Este es un ejemplo de reporte', 10, 30) ->Output('D', 'reporte.pdf'); }
Guardar PDF en Archivo
FriendlyFpdf::addPage() ->addText('Contenido del PDF', 10, 10) ->Output('F', storage_path('app/pdfs/documento.pdf'));
Contribuir
Las contribuciones son bienvenidas y serán completamente creditadas.
- Fork el repositorio
- Crea tu rama de características (
git checkout -b feature/amazing-feature
) - Commit tus cambios (
git commit -m 'Add some amazing feature'
) - Push a la rama (
git push origin feature/amazing-feature
) - Abre un Pull Request
Seguridad
Si descubres algún problema de seguridad, por favor envía un email a info@friendlysystemgroup.com en lugar de usar el issue tracker.
Créditos
Licencia
The MIT License (MIT). Por favor, consulta el archivo de licencia para más información.