154 lines
5.0 KiB
Markdown
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)
|