Generador de documentos PDF a partir de formularios PDF y configuraciones dinámicas en JSON.
El código fuente está licenciado bajo la licencia BSD 3 Clause, sin embargo, debido a la integración con iText en el proyecto PdfGenerator.iTextEngine, y por lo consiguiente en PdfGenerator (Web API), se permite el uso de la licencia GNU AGPL v3 para la redistribución con el fin de cumplir con las condiciones de la licencia de iText.
Estas instrucciones te permitirá obtener una copia del proyecto actualizado y ejecutando en tu máquina local para desarrollo y pruebas o en servidor para producción.
Las siguientes herramientas son necesarias para compilar y ejecutar el proyecto.
- .NET SDK 8.0
Esta guía paso a paso te dirá como tener un entorno de desarrollo levantado y corriendo.
$ dotnet build
$ dotnet run --project PdfGenerator
Las siguientes instrucciones permitirán desplegar el servicio en un entorno de producción.
- Sistema Operativo: Sistemas Linux con SystemD:
- Ubuntu 22.04 LTS o posterior.
- Debian 12 o posterior.
- Red Hat / AlmaLinux 9 o posterior.
Se debe establecer la ruta donde se instalarán los archivos del proyecto generados por el comando:
$ dotnet publish PdfGenerator/PdfGenerator.csproj --configuration Release --runtime linux-x64 --self-contained
Estos archivos pueden encontrarse en la ruta <Ruta del Proyecto>/PdfGenerator/bin/Release/net8.0/linux-x64/publish.
Posteriormente, deben instalarse en el servidor en una ruta con los permisos de correspondientes, la cual se utilizará
para reemplazar el indicador [INSTALL_PATH] del archivo pdf-generator.service, que debe copiarse en la ruta
/etc/systemd/system/ dentro del servidor para habilitar y ejecutar el servicio.
Antes de ejecutar el servicio, se debe crear el archivo appsettings.Production.json dentro de la ruta de instalación
del proyecto con los siguientes valores a configurar:
{
"App": {
"TemplateDirectory": "<ruta absoluta de las plantillas JSON y formularios PDF>",
"ApiKey": "<token de acceso seguro al servicio>"
}
}Para que el sistema reconozca el servicio, habilitarlo en el arranque e iniciarlo, se deben ejecutar los siguientes comandos:
$ sudo systemctl daemon-reload
$ sudo systemctl enable pdf-generator.service
$ sudo systemctl start pdf-generator.service