Presentando pdf-service: Un Microservicio de Generación de PDF con Symfony 7
Me complace presentar pdf-service, un nuevo proyecto de código abierto que acabo de publicar en GitHub. Es un microservicio moderno y eficiente para generar PDFs desde contenido HTML, construido con Symfony 7.2 y Chrome Headless.
🚀 Características Principales
- Basado en Symfony 7.2 y FrankenPHP
- Utiliza Chrome Headless a través de browserless/chrome
- Arquitectura Hexagonal
- API REST simple e intuitiva
- Containerización completa con Docker
- Incluye aplicación demo en Next.js 15
💡 Casos de Uso
- Generación de facturas
- Exportación de informes
- Creación de documentos desde plantillas HTML
- Archivado de páginas web a PDF
- Generación de certificados y declaraciones
🛠️ Tecnologías Utilizadas
- Backend: Symfony 7.2, PHP 8.2+
- Servidor: FrankenPHP
- PDF: Chrome Headless (browserless)
- Demo: Next.js 15 con Bun
- Containerización: Docker & Docker Compose
🔧 Instalación Rápida
bash
📝 Ejemplo de Uso
bash
🎯 Puntos Fuertes
- Rendimiento: Optimizado para generación rápida de PDF
- Flexibilidad: Amplias opciones de configuración
- Moderno: Uso de las últimas versiones de tecnología
- Mantenible: Arquitectura hexagonal y pruebas automatizadas
- Seguro: Validación estricta de entrada y manejo de errores
- Documentado: Documentación completa y ejemplos de uso
🔜 Próximamente
Planeo publicar pronto un artículo técnico detallado que explicará en profundidad:
- Arquitectura del proyecto
- Decisiones técnicas
- Patrones utilizados
- Mejores prácticas implementadas
- Casos de uso avanzados
- Posibles optimizaciones
🤝 Contribuciones
El proyecto es de código abierto bajo licencia MIT. Siéntete libre de:
- ⭐ Dar una estrella al repositorio
- 🐛 Reportar errores
- 💡 Sugerir mejoras
- 🔧 Contribuir al código
📚 Más Información
Para más detalles, consulta:
- El repositorio de GitHub
- Documentación en el README
- La aplicación demo incluida
Próximamente se publicará un artículo técnico detallado para explicar en profundidad todos los aspectos del proyecto. ¡Mantente atento! 🚀