feat(verbale): logo Gepafin SVG ufficiale nel verbale PDF
Carlo ha fornito il logo Gepafin ufficiale (SVG vettoriale, colore #4A644E verde istituzionale, 118x50 viewbox). Sostituito il placeholder testuale <span class="hdr__logo">GEPAFIN</span> con il logo reale. Implementazione: - app/static/gepafin-logo.svg — logo copiato dal repo FE Gepafin (8.7KB SVG) - verbale.py: aggiunto STATIC_DIR + LOGO_FILE_URL con path file:// assoluto (weasyprint risolve file:// localmente senza HTTP fetch) - template passa logo_path nel contesto Jinja - verbale_istruttoria.html: CSS .hdr__logo-img (altezza 38pt) sostituisce .hdr__logo testuale Verificato: PDF da 23KB -> 32KB (incluso SVG), XObject embedded OK, header PDF-1.7 valido. Nel PDF il logo appare in alto a destra dell'header accanto al sottotitolo 'Finanziaria regionale dell\'Umbria'.
This commit is contained in:
@@ -23,6 +23,9 @@ router = APIRouter(prefix="/api/remission-practices/instructor", tags=["verbale"
|
||||
|
||||
|
||||
TEMPLATES_DIR = Path(__file__).resolve().parent.parent / "templates_jinja"
|
||||
STATIC_DIR = Path(__file__).resolve().parent.parent / "static"
|
||||
# URL file:// assoluto per weasyprint (che non fa HTTP fetch ma risolve file://)
|
||||
LOGO_FILE_URL = f"file://{STATIC_DIR.resolve()}/gepafin-logo.svg"
|
||||
|
||||
|
||||
# ---------- Jinja env & filters ----------
|
||||
@@ -244,6 +247,7 @@ def _build_context(db: Session, practice: RemissionPractice, user: AuthUser) ->
|
||||
"custom_checks_merged": custom_checks_merged,
|
||||
"previous_tranches": previous_tranches,
|
||||
"max_tranches_snapshot": max_tranches_snapshot,
|
||||
"logo_path": LOGO_FILE_URL,
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user