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"
|
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 ----------
|
# ---------- Jinja env & filters ----------
|
||||||
@@ -244,6 +247,7 @@ def _build_context(db: Session, practice: RemissionPractice, user: AuthUser) ->
|
|||||||
"custom_checks_merged": custom_checks_merged,
|
"custom_checks_merged": custom_checks_merged,
|
||||||
"previous_tranches": previous_tranches,
|
"previous_tranches": previous_tranches,
|
||||||
"max_tranches_snapshot": max_tranches_snapshot,
|
"max_tranches_snapshot": max_tranches_snapshot,
|
||||||
|
"logo_path": LOGO_FILE_URL,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
1
app/static/gepafin-logo.svg
Normal file
1
app/static/gepafin-logo.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 8.5 KiB |
@@ -50,8 +50,8 @@
|
|||||||
padding-bottom: 10pt;
|
padding-bottom: 10pt;
|
||||||
margin-bottom: 14pt;
|
margin-bottom: 14pt;
|
||||||
}
|
}
|
||||||
.hdr__logo {
|
.hdr__logo-img {
|
||||||
font-size: 22pt; font-weight: 900; color: #1a365d; letter-spacing: 1pt;
|
height: 38pt; width: auto;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
.hdr__subtitle {
|
.hdr__subtitle {
|
||||||
@@ -186,7 +186,7 @@
|
|||||||
{% if practice.period_label %}<div><small>{{ practice.period_label }}</small></div>{% endif %}
|
{% if practice.period_label %}<div><small>{{ practice.period_label }}</small></div>{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<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 class="hdr__subtitle">Finanziaria regionale dell'Umbria</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user