Influxion is a FastAPI-based microservice for generating PDFs from structured JSON data and HTML/CSS templates.
Contents:
To try it out, check the Swagger UI or the examples in the examples section.
Features
Accepts JSON input
OAuth2 authentication through Entra ID.
Supports optional custom HTML (Jinja2) and CSS templates
Supports optional PDF standards (e.g., PDF/A, PDF/UA)
Supports optional digital signing with Azure Key Vault certificate
Query job status via
/pdf/{job_id}Download generated PDF via
/pdf/{job_id}/downloadOptional Celery worker for background PDF generation (configure via
INFLUXION_USE_CELERY,INFLUXION_CELERY_BROKER_URL, andINFLUXION_CELERY_RESULT_BACKEND)
It uses:
FastAPI for the API framework,
Jinja2 for templating,
Pydantic for data validation,
WeasyPrint for PDF rendering and supports optional custom templates,
PyHanko for digital signing of documents with certificates stored in Azure Key Vault.
Azure Key Vault for secure certificate management.
Celery for background task processing (optional).