Convertir du HTML en PDF — Collez le code, enregistrez le PDF
Transformez du code HTML en PDF avec le format de papier et les marges de votre choix
Traitement dans le navigateur · aucun envoi de fichier
Collez un fragment (<div>…) ou un document complet (<html>…). Pour un document complet, seuls le contenu de <body> et les blocs <style> sont utilisés.
Styles à ajouter. Les règles @media print s’appliquent aussi.
Pour votre sécurité et votre vie privée, les images, polices et CSS qui ne sont pas des adresses data: ou blob: ne sont jamais demandées, et aucun script n’est exécuté. La conversion d’une page web à partir de son URL n’est pas proposée.
Aperçu (largeur imprimable)
Saisissez du HTML pour voir un aperçu.
Dans la fenêtre d’impression, choisissez « Enregistrer au format PDF » comme destination. Le PDF conserve un vrai texte, que l’on peut rechercher ; le navigateur décide des sauts de page.
Découpe l’aperçu en images de la taille d’une page. Le téléchargement est direct, sans fenêtre, mais le texte ne peut pas être recherché ni copié, et une page peut se couper au milieu d’une ligne.
À quoi sert cet outil
Devis, reçus et modèles d’e-mail sont souvent écrits en HTML. Collez ici le HTML et le CSS, visualisez l’aperçu à la largeur imprimable du papier choisi et enregistrez-le en PDF de deux façons : via la fenêtre d’impression pour un PDF texte, ou en PDF image téléchargé directement. Le code reste sur cette page ; rien n’est envoyé à un serveur.
Mode d’emploi
- Collez le HTML. Pour un document complet (
<html>…), seuls le contenu de<body>et les blocs<style>sont utilisés. Ajoutez du CSS dans la seconde zone si besoin. - Choisissez le papier (A4, Letter, A3), l’orientation, les marges et l’impression ou non des arrière-plans.
- Vérifiez l’aperçu et cliquez sur Enregistrer en PDF depuis la fenêtre d’impression, puis choisissez « Enregistrer au format PDF » comme destination.
- Ou cliquez sur Télécharger un PDF image pour obtenir un PDF composé d’images des pages.
Fonctionnement
- Nettoyage : le code est analysé avec DOMParser (un document inerte) et l’analyseur CSS du navigateur ; toutes les adresses autres que data: ou blob: (images, @import, url(), srcset), les éléments script, iframe, object et link ainsi que les attributs on* sont supprimés. Les adresses supprimées sont listées.
- Cadre d’aperçu : un iframe isolé (sandbox) sans droit d’exécuter des scripts, avec une Content-Security-Policy qui bloque requêtes et scripts.
- Polices : les polices installées sur l’appareil sont utilisées, donc les accents et tous les autres alphabets sortent comme le navigateur les affiche.
- Papier : A4 210×297 mm et A3 297×420 mm (ISO 216), Letter 8,5×11 pouces ; le mode impression fixe le format et les marges avec la règle CSS
@page. - PDF image : le contenu, mis en page à la largeur imprimable (680 px pour un A4 avec des marges de 15 mm), est capturé page par page en 2× et enregistré en JPEG, jusqu’à 50 pages, avec html-to-image (MIT) et pdf-lib (MIT).
- Longueur : jusqu’à 500 000 caractères pour le HTML et le CSS réunis.
Exemples
| Objectif | Étapes |
|---|---|
| Un devis PDF au texte cherchable | Insérer un exemple → A4, marges normales → fenêtre d’impression → Enregistrer au format PDF |
| Obtenir tout de suite le fichier sur un téléphone | Télécharger un PDF image |
| Un tableau très large | Paysage, marges étroites |
Pour convertir du Markdown, utilisez Markdown en PDF ; pour enregistrer du HTML en image PNG, un outil HTML en image.
Questions fréquentes
Puis-je convertir une page web à partir de son URL ?
Non. Seul le HTML collé est converti. Récupérer un autre site à votre place lui enverrait des requêtes depuis votre appareil, éventuellement avec votre session ouverte. Pour enregistrer une page web, ouvrez-la et utilisez Imprimer → Enregistrer au format PDF dans le navigateur.
Quelle est la différence entre les deux boutons ?
Enregistrer en PDF depuis la fenêtre d’impression utilise l’impression du navigateur : le texte reste cherchable et les sauts de page tombent entre les lignes. Télécharger un PDF image évite la fenêtre mais enregistre chaque page comme une image : le texte n’est pas sélectionnable et une page peut se couper au milieu d’une ligne.
Pourquoi mes images ou mes polices web n’apparaissent-elles pas ?
Pour votre sécurité et votre vie privée, les images, polices et feuilles de style qui ne sont pas des adresses data: ou blob: ne sont jamais demandées. Intégrez les images en URL data: Base64 ; le texte utilise les polices installées sur l’appareil.
Que deviennent les scripts ?
Les éléments script et les attributs d’événement comme onclick sont supprimés, et le cadre d’aperçu applique une politique qui bloque les scripts : rien dans le code collé ne s’exécute.
Puis-je contrôler les sauts de page ?
En mode impression, les règles CSS comme `break-before: page` sont respectées, et les règles `@media print` de la zone CSS ne s’appliquent qu’à l’impression.