Uecko_ERP/tools/fastreport-cli/README.md
2026-01-08 13:09:24 +01:00

154 lines
5.0 KiB
Markdown

# 📘 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](https://dotnet.microsoft.com/en-us/download/dotnet/10.0)
### 🐧 **Ubuntu / Linux**
1. Abre una terminal.
2. Actualiza la caché de paquetes:
3. Instala el SDK de .NET 10:
4. Verifica la instalación:
Esto instalará las herramientas necesarias para compilar y ejecutar aplicaciones .NET. [Microsoft Learn](https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu-install)
**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](https://learn.microsoft.com/es-es/dotnet/core/install/linux-scripted-manual)
### 🪟 **Windows**
1. Descarga el instalador del SDK de .NET 10 desde la página oficial de descargas de .NET. [Microsoft](https://dotnet.microsoft.com/en-us/download/dotnet/10.0)
2. Ejecuta el instalador y sigue los pasos.
3. 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 `.frx` y 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][1]) |
| 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` |
[1]: https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu-install?utm_source=chatgpt.com "Install .NET SDK or .NET Runtime on Ubuntu"
## 📚 Recursos
- Página oficial de descargas de **.NET 10** — [https://dotnet.microsoft.com/en-US/download/dotnet/10.0](https://dotnet.microsoft.com/en-US/download/dotnet/10.0) [Microsoft](https://dotnet.microsoft.com/en-us/download/dotnet/10.0)
- Documentación de instalación de .NET en **Ubuntu** — [https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu-install](https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu-install) [Microsoft Learn](https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu-install)
- Documentación de instalación en **Windows** — [https://learn.microsoft.com/es-es/dotnet/core/install/windows](https://learn.microsoft.com/es-es/dotnet/core/install/windows) [Microsoft Learn](https://learn.microsoft.com/es-es/dotnet/core/install/windows)