Convertisseur Markdown → PDF, gratuit

Convertissez du Markdown en PDF avec aperçu en direct. Personnalisez la taille de page et les marges. Tourne entièrement dans votre navigateur.

Vos données ne quittent jamais votre appareil

À propos du Markdown

Le Markdown est un langage de balisage léger qui convertit du texte brut en HTML formaté. Il est largement utilisé pour la documentation, les blogs et l'écriture technique car il est facile à lire et à écrire.

Syntaxe Markdown

Questions fréquentes

Puis-je utiliser du HTML dans Markdown ?

Oui. Markdown prend en charge le HTML en ligne, vous pouvez donc incorporer directement des balises HTML dans votre Markdown.

Quelles tailles de page sont prises en charge ?

A4, Letter, A3 et A5 sont prises en charge. Les marges sont réglables entre 0 et 50 millimètres.

La génération de PDF est-elle côté client ?

Oui. Toute la conversion se fait dans votre navigateur. Votre Markdown n'est jamais envoyé à nos serveurs.

Comment fonctionne ce convertisseur

Un outil Markdown vers PDF basé sur le navigateur exécute un pipeline en deux étapes. D'abord, la source Markdown est analysée en HTML par un analyseur Markdown JavaScript (cette page utilise marked.js, un analyseur léger, rapide et sous licence MIT maintenu par l'organisation MarkedJS). Le résultat est le HTML que vous voyez dans l'aperçu en direct. Ensuite, ce HTML est converti en PDF. Cette page utilise html2pdf.js, qui regroupe lui-même deux bibliothèques : html2canvas redessine le DOM rendu sur un canevas hors écran en lisant les styles calculés, et jsPDF écrit cette image de canevas dans un objet de page PDF et enregistre le fichier.

Les bibliothèques elles-mêmes sont chargées depuis un CDN public, mais votre Markdown est analysé et le PDF généré entièrement sur votre appareil. Le navigateur est le moteur de rendu ; rien ne quitte la page.

Brève histoire du PDF

Le PDF a débuté comme une proposition interne de John Warnock, cofondateur d'Adobe, en 1991. Il voulait un moyen de partager des documents qui auraient la même apparence sur chaque écran, chaque imprimante, chaque système d'exploitation. Le court document qui en est à l'origine était intitulé « The Camelot Project », et Adobe a publié la première spécification PDF le 15 juin 1993, en même temps qu'Adobe Acrobat 1.0. Adobe a géré le format pendant quinze ans avant de soumettre PDF 1.7 à l'ISO. La norme ISO 32000-1:2008 a fait du PDF une norme ouverte librement utilisable sans licence, la date la plus importante pour comprendre pourquoi chaque outil, navigateur et système d'exploitation moderne peut écrire des PDF aujourd'hui. La norme ISO 32000-2:2017 (PDF 2.0) a ajouté des signatures numériques améliorées, une meilleure gestion d'Unicode et des points d'ancrage formels pour l'accessibilité. L'édition corrigée de 2020 a été rendue librement téléchargeable par la PDF Association en avril 2023, supprimant la dernière barrière de coût.

Un PDF est essentiellement un conteneur structuré d'objets organisés pour un accès aléatoire, des graphiques vectoriels (lignes et courbes de Bézier), des images matricielles (généralement JPEG ou compressées avec zlib), des polices intégrées (Type 1, TrueType, OpenType) et une table de références croisées qui permet aux lecteurs de sauter n'importe où sans analyser le fichier entier. Il existe plusieurs normes de sous-ensemble PDF qu'il est utile de connaître : PDF/A (archivage, ISO 19005, 2005, interdit tout ce qui pourrait compromettre la lisibilité à long terme), PDF/X (production d'impression avec une gestion des couleurs verrouillée) et PDF/UA (accessibilité universelle, ISO 14289-1, 2012, exige des PDF entièrement balisés avec ordre de lecture, texte alternatif, polices intégrées mappées vers Unicode et langue du document déclarée).

Tailles de page

La série A provient de la norme ISO 216 (formalisée en 1975, qui remonte à la norme allemande DIN 476 de 1922). Chaque format A possède le même rapport d'aspect √2 (≈ 1,414), ce qui signifie que diviser en deux le grand côté d'un A3 produit deux A4 sans perte, et que diviser un A4 en deux produit deux A5. Le A0 fait exactement 1 m². Les formats nord-américains (Letter, Legal, Tabloid) ignorent √2 et remontent aux conventions coloniales de fabrication du papier :

La marge par défaut de 10 mm est plus serrée que celle d'un pouce (25,4 mm) par défaut dans Microsoft Word, mais elle fonctionne bien pour les documents riches en code ou denses en tableaux où vous voulez que chaque colonne tienne.

La mise en garde honnête : le texte n'est pas sélectionnable

Parce que le convertisseur rend le HTML sur un canevas et intègre ce canevas comme une image à l'intérieur du PDF, le texte obtenu n'est ni sélectionnable, ni consultable, ni accessible aux lecteurs d'écran. C'est une image fidèle de ce que le navigateur dessinerait, mais ce n'est qu'une image. Cela convient pour des éléments visuels comme des fiches de recettes, des planches d'ambiance ou des documents imprimés ; c'est un mauvais choix pour des documents juridiques, des CV qu'un recruteur veut passer au crible par mots-clés, ou tout ce qui doit réussir un audit d'accessibilité (WCAG / Section 508 / EN 301 549).

Si vous avez besoin d'un texte sélectionnable ou d'un PDF balisé, les bons outils sont Pandoc (combiné avec LaTeX, wkhtmltopdf ou weasyprint) ou Adobe Acrobat Pro avec ses outils de balisage. Pandoc est la référence absolue pour la production sérieuse de documents, installable via Homebrew ou Chocolatey, s'exécute en ligne de commande, offre un contrôle typographique complet de niveau LaTeX avec notes de bas de page, bibliographies, citations, guillemets typographiques et ligatures correctes.

Forcer les sauts de page

html2pdf.js respecte les propriétés CSS de fragmentation à l'impression. Comme Markdown vous permet d'incorporer du HTML en ligne, vous pouvez forcer un saut de page en collant ceci :

<div style="break-before: page;"></div>

L'ancien alias page-break-before: always fonctionne aussi. Autres propriétés utiles : break-inside: avoid sur un tableau ou un bloc de code l'empêche d'être scindé entre plusieurs pages ; orphans et widows contrôlent combien de lignes doivent rester ensemble en bas ou en haut d'une page.

Conseils pour une sortie propre

Markdown courant pour ce type de sortie

La syntaxe prise en charge est le sous-ensemble de la syntaxe GitHub, titres, gras et italique, listes, tableaux, blocs de code avec coloration syntaxique simple, citations, liens et images. Les notes de bas de page et les diagrammes Mermaid ne sont pas pris en charge par cette version. Petit rappel des bases :

Un rappel de l'origine de Markdown : John Gruber et Aaron Swartz l'ont conçu en 2004 comme « un format de texte brut facile à lire et à écrire ». L'effort de normalisation CommonMark a débuté en 2014, mené par John MacFarlane (Pandoc), Jeff Atwood (Stack Overflow / Discourse) et des ingénieurs de GitHub, Reddit et Meteor. GitHub Flavored Markdown est un sur-ensemble de CommonMark qui ajoute les tableaux, le texte barré, les listes de tâches et les liens automatiques.

Autres questions

Pourquoi le texte de mon PDF est-il flou ?

Parce que le convertisseur rastérise la page à la densité d'affichage du navigateur. Sur un moniteur non Retina, l'image obtenue peut paraître floue en cas de zoom, car le canevas capture à environ 96 DPI plutôt qu'aux 300 DPI habituels de l'impression. La solution consiste à effectuer le rendu à une densité plus élevée, html2canvas accepte une option scale (généralement 2× pour une qualité Retina), au prix de fichiers plus volumineux.

Pourquoi mon bloc de code n'a-t-il pas de coloration syntaxique ?

marked.js ne fournit pas de coloration syntaxique par défaut, il se contente d'envelopper les blocs clôturés dans des balises <pre><code class="language-…">. Une vraie coloration nécessite une bibliothèque distincte comme Prism.js ou highlight.js, que cette version n'inclut pas. Le PDF affichera votre code à chasse fixe, mais sans le thème de couleurs vert-et-rouge que vous pourriez attendre de GitHub.

Puis-je inclure des notes de bas de page ou une table des matières ?

Les notes de bas de page ([^1] pour les références et [^1]: definitions pour les définitions) sont une fonctionnalité de rendu de GitHub en dehors de la spécification standard GFM et ne sont pas analysées par cette version. Une table des matières nécessite soit une extension Markdown (comme le greffon TOC de markdown-it), soit l'écriture manuelle de la liste de liens. Pour les deux, Pandoc avec son option --toc est le bon outil.

Le PDF sera-t-il balisé pour l'accessibilité ?

Non. La sortie est un PDF composé d'images de pages, sans balises sémantiques, sans texte alternatif ni indications d'ordre de lecture, il ne passerait pas un contrôle de conformité PDF/UA. Pour les travaux exigeant l'accessibilité (formulaires gouvernementaux, documents du secteur public, tout ce qui est soumis à WCAG / EN 301 549 / Section 508), utilisez Pandoc + LaTeX avec un filtre d'accessibilité, les outils de balisage d'Adobe Acrobat Pro, ou un pipeline WeasyPrint côté serveur.

Quelque chose est-il envoyé à un serveur ?

Non. Le texte ne quitte jamais votre navigateur. Marked.js analyse le Markdown localement, html2canvas peint sur un canevas hors écran, jsPDF construit l'objet PDF, et le navigateur l'enregistre. Les bibliothèques elles-mêmes se chargent depuis un CDN public avec des contrôles d'intégrité de sous-ressource ; elles sont récupérées une fois puis mises en cache. Une fois la page chargée, elle fonctionne hors ligne.

Outils associés