# GOTENBERG-PDF — HTML → PDF (piège police web) Note partagée aux 3 instances Hermes. Source : projet gsparc-mezzouna, 2026-06-14. Gotenberg convertit du HTML en PDF. Conteneur `gotenberg` sur le réseau **n8n**, port **3000**. `POST http://gotenberg:3000/forms/chromium/convert/html` (champ `files` = index.html). ## PIÈGE — police web manquante sur pages lourdes Sur une page **lourde** (grosse image base64 en ligne), Chromium **imprime avant que la police web** (`@import` Google Fonts) soit appliquée → **texte manquant ou rendu incohérent** d'un document à l'autre. C'est **déterministe selon le poids** : les pages légères passent, les lourdes échouent (piège : on croit à un aléa). ## SOLUTION - Champ form **`waitDelay: "1.5s"`** → laisse charger les ressources async (police) avant impression. - **Alléger** la page : redimensionner les images embarquées. - Pile de polices de secours avec une Arabe quasi toujours présente dans Chromium : `font-family: Cairo,"Noto Sans Arabic","Noto Naskh Arabic",Tahoma,Arial,sans-serif;` ## Exemple (paysage A4 pleine page) ```bash curl -s http://gotenberg:3000/forms/chromium/convert/html \ -F "files=@index.html" \ -F "paperWidth=11.69" -F "paperHeight=8.27" \ -F "marginTop=0.2" -F "marginBottom=0.2" -F "marginLeft=0.2" -F "marginRight=0.2" \ -F "landscape=true" -F "printBackground=true" -F "waitDelay=1.5s" -o out.pdf ``` Implémentation de référence : `gsparc-mezzouna/app/routes/export.py` (`_fiche_pdf_bytes`).