| .. | ||
| publish | ||
| .gitignore | ||
| FastReportCliGenerator.csproj | ||
| FastReportCliGenerator.slnx | ||
| Program.cs | ||
| README.md | ||
📘 FastReport CLI — Generador de informes HTML/PDF
Este proyecto es un ejecutable .NET CLI que carga plantillas .frx, inyecta datos en formato JSON usando JsonDataConnection y exporta el informe resultante a HTML. Ideal para integrarse desde otros servicios (p. ej., Node.js) y generar facturas, listados u otros documentos.
🛠️ Requisitos previos
Antes de compilar o ejecutar este proyecto, necesitas:
💡 1. Instalar .NET 10 SDK
.NET 10 es la versión recomendada con soporte moderno (mensajes y descargas oficiales disponibles en la web de Microsoft). Microsoft
🐧 Ubuntu / Linux
-
Abre una terminal.
-
Actualiza la caché de paquetes:
-
Instala el SDK de .NET 10:
-
Verifica la instalación:
Esto instalará las herramientas necesarias para compilar y ejecutar aplicaciones .NET. Microsoft Learn
Nota: Si no está disponible en los repositorios puede que necesites usar el script oficial dotnet-install.sh o los paquetes binarios de la web de .NET. Microsoft Learn
🪟 Windows
-
Descarga el instalador del SDK de .NET 10 desde la página oficial de descargas de .NET. Microsoft
-
Ejecuta el instalador y sigue los pasos.
-
Verifica con:
Windows instalará todo lo necesario para compilar y ejecutar proyectos .NET.
📁 Estructura del proyecto
El proyecto CLI está bajo una carpeta como:
Este proyecto usa FastReport.OpenSource y JsonDataConnection para leer JSON y producir HTML.
🧱 Compilar el ejecutable
Una vez instalado .NET 10 SDK, abre la terminal o línea de comando en la raíz del proyecto y ejecuta:
Esto compilará el proyecto en modo Release.
📦 Publicar ejecutables (Linux y Windows)
Puedes generar ejecutables independientes (self-contained) para cada plataforma.
🐧 Linux
🪟 Windows
Esto generará binarios en:
Los ejecutables no requieren .NET preinstalado para ejecutarse.
🧪 Ejecutar el generador
Una vez publicado, puedes ejecutar el generador desde shell con:
o en Windows.
📌 Integración desde otras aplicaciones
Puedes invocar este ejecutable desde Node.js u otros servicios usando la ruta y parámetros indicados, por ejemplo usando child_process en Node.js para generar HTML y luego convertirlo a PDF con Puppeteer o similar.
⚠️ Requisitos adicionales en Linux
Si tu reporte usa gráficos o fuentes, puede necesitar librerías gráficas nativas como libgdiplus en Linux para compatibilidad con System.Drawing:
Esto evita errores de carga nativa en tiempo de ejecución (especialmente si FastReport genera gráficos o renderiza texto). (Requisito común para librerías que usan GDI+ en Linux)
🧠 Buenas prácticas
-
Mantén tu
.frxy tus datos JSON sincronizados (los campos usados en la plantilla deben estar presentes en tu JSON). -
Versiona el ejecutable en tus pipelines o CI para que siempre sepas qué versión se está usando.
-
Genera el HTML desde .NET y luego conviértelo a PDF en tu API principal según necesites.
📦 Resumen de comandos útiles
| Acción | Comando |
|---|---|
| Instalar .NET 10 SDK en Ubuntu | sudo apt install -y dotnet-sdk-10.0 (Microsoft Learn) |
| Ver versión de .NET | dotnet --version |
| Compilar proyecto | dotnet build … |
| Publicar para Linux | dotnet publish … -r linux-x64 |
| Publicar para Windows | dotnet publish … -r win-x64 |
📚 Recursos
-
Página oficial de descargas de .NET 10 — https://dotnet.microsoft.com/en-US/download/dotnet/10.0 Microsoft
-
Documentación de instalación de .NET en Ubuntu — https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu-install Microsoft Learn
-
Documentación de instalación en Windows — https://learn.microsoft.com/es-es/dotnet/core/install/windows Microsoft Learn