Comment convertir du HTML en PDF

· 5 min de lecture

Créer des PDF à partir de HTML est utile pour générer des factures, rapports, lettres, certificats, et tout document où vous voulez controler la mise en page avec CSS mais distribuer en PDF. Un convertisseur HTML-vers-PDF basé sur navigateur utilise le moteur de rendu de votre propre navigateur, donc le résultat correspond à ce que vous voyez dans l'aperçu en direct, sans téléversement de serveur.

Comment convertir HTML en PDF

  1. Collez votre HTML : entrez votre code HTML incluant tout CSS inline ou balises <style> dans l'éditeur. Le code peut inclure une structure de page complète avec en-tetes, tableaux, images et style.
  2. Prévisualisez la sortie : un aperçu en direct montre exactement à quoi ressemblera votre PDF pendant que vous tapez. Ajustez votre HTML et CSS jusqu'à ce que l'aperçu corresponde à ce que vous voulez.
  3. Générez et téléchargez : cliquez sur le bouton générer pour créer le PDF dans votre navigateur, puis téléchargez-le instantanément.

Ce que vous pouvez créer

Une brève histoire de la conversion HTML-vers-PDF

Au début du Web (1995-2005), créer un PDF à partir de HTML nécessitait des outils coté serveur : Apache FOP (1999), PrinceXML (2002) ou wkhtmltopdf (2010), qui s'exécutaient tous sur un serveur backend et nécessitaient de téléverser le contenu. La qualité de sortie variait énormément parce que chaque moteur de rendu implémentait CSS différemment.

La conversion coté navigateur est devenue pratique en 2014 avec des bibliothèques comme jsPDF et html2pdf.js, qui utilisent HTML5 Canvas pour rasteriser le contenu. Le résultat était décent pour des documents simples mais échouait sur des mises en page complexes et du texte sélectionnable.

La percée fut le mode headless de Chromium (2017), qui a exposé le meme moteur de rendu que Chrome utilise pour les pages normales. Puppeteer (Node.js, 2017) a rendu la génération PDF coté serveur Chromium accessible aux développeurs. Les convertisseurs basés sur navigateur utilisent désormais l'API Print (window.print()) avec les règles CSS @page, le meme chemin que le mode headless de Chromium utilise, donnant une sortie identique entre l'aperçu et le PDF.

En 2026, HTML-vers-PDF basé sur navigateur est le bon choix pour la plupart des documents. Le rendu coté serveur n'a de sens que pour les très gros documents (100+ pages), le traitement par lot automatisé, ou lorsque vous devez fusionner des PDF de plusieurs sources.

Conseils de style pour la sortie PDF

Utilisez des styles inline ou des balises <style> : les feuilles de style externes ne sont pas chargées. Mettez tout votre CSS soit inline sur les éléments soit dans un bloc <style> dans le HTML.

Définissez les marges de page : utilisez CSS @page { margin: 20mm; } pour controler l'espace blanc autour de votre contenu dans le PDF.

Utilisez des unités adaptées à l'impression : mm, cm et pt sont plus prévisibles dans les PDF que px ou rem. Utilisez mm pour les marges et l'espacement qui doivent correspondre aux dimensions du monde réel.

Évitez les mises en page dépendantes du viewport : les largeurs en pourcentage et les largeurs en pixels fixes fonctionnent mieux. Les unités de viewport (vw, vh) peuvent ne pas se comporter comme prévu dans la sortie PDF.

Controler les sauts de page : utilisez page-break-before, page-break-after et page-break-inside (ou les plus récents break-before, break-after, break-inside) pour controler où commencent les nouvelles pages. break-inside: avoid empeche un seul bloc de se diviser sur plusieurs pages.

Utilisez @media print pour les règles PDF uniquement : tout CSS dans @media print { ... } s'applique uniquement lors de la génération du PDF, pas dans l'aperçu. Utile pour masquer les éléments uniquement à l'écran comme les barres de navigation.

Exemple de mode impression CSS

@page {
  size: A4;
  margin: 20mm 15mm;
}

@media print {
  .no-print { display: none; }
  h1 { page-break-before: always; }
  table { page-break-inside: avoid; }
  a { color: black; text-decoration: none; }
}

body {
  font-family: 'Helvetica', sans-serif;
  font-size: 11pt;
  line-height: 1.4;
  color: #1a1a1a;
}

Tailles de page

Valeurs courantes de @page size :

Ajoutez landscape pour l'orientation paysage : size: A4 landscape.

Pièges courants

Alternatives à considérer

Pour les documents commerciaux quotidiens (factures, rapports, certificats), un convertisseur HTML-vers-PDF de navigateur est plus rapide et tout aussi soigné.

Conseils

Confidentialité et documents sensibles

Le convertisseur HTML-vers-PDF fonctionne entièrement dans votre navigateur. Le HTML que vous collez, les images que vous intégrez et le PDF généré restent tous sur votre appareil. Rien n'est téléversé sur un serveur, enregistré ou partagé avec qui que ce soit.

Cela importe parce que les entrées HTML-vers-PDF sont souvent sensibles : données de facture avec noms de clients, brouillons de contrats avec conditions tarifaires, rapports internes avec chiffres financiers, certificats avec informations personnelles. Les services HTML-vers-PDF en nuage envoient par conception votre HTML sur leur serveur, génèrent le PDF là-bas et le renvoient. Certains conservent les entrées à des fins « d'amélioration » ou analytique. Pour les documents contenant des informations confidentielles, un convertisseur basé sur navigateur est le choix le plus sur.

La conversion basée sur navigateur fonctionne également hors ligne une fois la page chargée, et est assez rapide pour un retour instantané pendant que vous itérez sur le HTML.

Questions fréquentes

Le PDF préserve-t-il mon style CSS ?

Oui. Le convertisseur rend votre HTML avec le CSS appliqué, y compris couleurs, polices, marges et mise en page. Le PDF ressemble à la page web rendue, pas au code source brut.

Puis-je inclure des images dans le PDF ?

Oui. Utilisez des images en base64 (Data URI) pour les résultats les plus fiables. Les URL d'images externes peuvent fonctionner si elles sont accessibles et compatibles CORS.

Mon HTML est-il envoyé sur un serveur ?

Non. La conversion se fait entièrement dans votre navigateur. Votre code et le PDF généré ne quittent jamais votre appareil.

Quelles fonctionnalités CSS sont prises en charge ?

Le CSS standard, y compris mises en page, couleurs, polices, arrière-plans, bordures et tableaux, est bien pris en charge. Les fonctions avancées comme CSS Grid, des animations complexes et certains cas limites de Flexbox peuvent être limités.