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:
BFLOWS
2026-04-18 22:15:24 +02:00
parent 8950633481
commit a3f863ecdb
3 changed files with 8 additions and 3 deletions

View File

@@ -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,
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@@ -50,8 +50,8 @@
padding-bottom: 10pt;
margin-bottom: 14pt;
}
.hdr__logo {
font-size: 22pt; font-weight: 900; color: #1a365d; letter-spacing: 1pt;
.hdr__logo-img {
height: 38pt; width: auto;
display: inline-block;
}
.hdr__subtitle {
@@ -186,7 +186,7 @@
{% if practice.period_label %}<div><small>{{ practice.period_label }}</small></div>{% endif %}
</div>
<div>
<span class="hdr__logo">GEPAFIN</span>
<img src="{{ logo_path }}" alt="Gepafin" class="hdr__logo-img" />
<div class="hdr__subtitle">Finanziaria regionale dell'Umbria</div>
</div>
</div>