Comment convertir du HTML en PDF

Guide HTML vers PDF et générateur de CSS d'impression

Convertir du HTML en PDF : CSS d'impression, window.print() | We.Inc

Transformez du HTML en PDF propre : enregistrez depuis la boîte de dialogue d'impression, écrivez du CSS d'impression avec @page et break-inside, appelez window.print() ou faites le rendu sur un serveur. Avec un générateur de CSS d'impression.

Le moyen le plus rapide de transformer une page web en PDF est la boîte de dialogue d'impression du navigateur : ouvrez-la, choisissez la destination PDF et enregistrez. Pour contrôler l'apparence de ce PDF, ajoutez du CSS d'impression avec @media print et @page pour le format du papier et les marges. Pour des PDF générés automatiquement, faites le rendu de la page avec un navigateur headless comme Puppeteer ou Playwright.

Les façons de produire un PDF à partir de HTML

Toutes les méthodes de cette page finissent par demander à un moteur de navigateur de mettre la page en forme sur papier, donc un bon CSS d'impression les améliore toutes. Construisez ci-dessous une feuille de style d'impression de départ, puis choisissez la méthode de conversion selon qui appuie sur le bouton : une personne, votre page ou un serveur.

Questions fréquentes

Comment enregistrer une page web en PDF sans aucun outil ?

Ouvrez la boîte de dialogue d'impression du navigateur depuis son menu ou son raccourci clavier, puis choisissez l'option PDF dans la liste des destinations ou des imprimantes. Son nom exact dépend du navigateur et du système d'exploitation.

Comment ajouter un bouton Télécharger en PDF à ma page ?

La version honnête la plus simple est un bouton qui appelle window.print(), qui ouvre la même boîte de dialogue, où le visiteur peut enregistrer en PDF. Cela ne demande aucune bibliothèque, garde le texte sélectionnable et utilise votre CSS d'impression.

Comment éviter qu'un tableau soit coupé sur deux pages ?

Ajoutez break-inside: avoid au tableau, ou à ses lignes si le tableau est long. L'ancien page-break-inside: avoid est traité comme un alias, il fonctionne donc encore dans les anciennes feuilles de style.

Puis-je définir le format du papier en CSS ?

Oui. @page { size: A4 portrait; margin: 15mm; } définit la taille et les marges de la page. Puppeteer ne l'utilise que si preferCSSPageSize vaut true ; sinon, c'est sa propre option format, Letter par défaut, qui décide.

Pourquoi html2pdf.js produit-il des PDF flous ou énormes ?

Son README explique qu'il rend le contenu sous forme d'image et place cette image dans le PDF, si bien que le texte n'est ni sélectionnable ni consultable par recherche, et que les fichiers deviennent lourds. Utilisez l'impression ou un navigateur headless quand le texte compte.

Le CSS d'impression est la base

Quand faire le rendu sur un serveur

Référence du CSS d'impression

Règles et propriétés qui façonnent les pages imprimées

Exemples d'impression à copier

Un bouton imprimer ou enregistrer en PDF

window.print() ouvre la boîte de dialogue d'impression et bloque la page jusqu'à sa fermeture. La classe empêche le bouton lui-même d'apparaître sur le papier.

Mise en page de factures qui commence chaque facture sur une nouvelle page

break-after: page après chaque facture donne une facture par feuille quand plusieurs sont imprimées ensemble.

Préparer la page juste avant l'impression

beforeprint et afterprint se déclenchent autour de la boîte de dialogue, ce qui est utile pour déplier les sections repliées.

PDF côté serveur avec Puppeteer

preferCSSPageSize fait primer votre taille @page sur l'option format ; printBackground conserve les fonds.

Générateur de CSS d'impression

Format du papier

Orientation

Portrait

Paysage

Marge : {n} mm

Masquer la navigation, le pied de page et les barres latérales

Garder tableaux, figures et code sur une seule page

Imprimer l'adresse des liens après ceux-ci

Conserver les couleurs de fond

Copier le CSS

Commencer gratuitement · Sans carte bancaire

Voir aussi: Guides

Produit

Pour qui

Fonctionnalités

Ressources

Entreprise

Plan du site