Convertir un PDF en Markdown sans perdre la mise en forme

Par Équipe pdftomd.tools · Mis à jour le · 10 min de lecture

Réponse courte : on peut convertir un PDF en Markdown sans perdre la mise en forme seulement pour la structure que Markdown sait représenter : titres, listes, tableaux et code. Vérifiez que le fichier a une vraie couche de texte, passez-le dans un outil gratuit pour convertir PDF en Markdown, puis contrôlez titres, listes et tableaux avant d'utiliser le résultat. L'aspect visuel (polices, couleurs, espacements exacts) ne suit jamais.

Illustration : une page PDF avec un titre, des paragraphes et un tableau devient un fichier Markdown avec la même structure

Quelle « mise en forme » survit en Markdown (et laquelle disparaît)

Un PDF décrit l'apparence d'une page. Le format, défini par l'ISO 32000-2, enregistre des glyphes à des positions sur une page, avec des polices, des traits et des images. Il ne sait pas de lui-même que « ceci est un titre », sauf si l'auteur a ajouté des balises, et la plupart des fichiers en circulation n'ont pas de balises utilisables. Markdown, c'est l'inverse : il note ce qu'est chaque bloc (un titre, un élément de liste, une ligne de tableau) et laisse l'apparence à ce qui l'affiche.

Quand on demande comment convertir un PDF en Markdown sans perdre la mise en forme, la réponse honnête est donc que la « mise en forme » se divise en deux. La structure peut être reconstruite. L'apparence non, parce que Markdown n'a pas de syntaxe pour elle.

Ce qu'une conversion peut reprendre
Mise en forme dans le PDFEn MarkdownRemarques
Titres (police plus grande)OuiReconstruits d'après la taille de police ; vérifiez les niveaux
Listes à puces et numérotéesOuiLa numérotation est réécrite, pas copiée
TableauxOui, en tableaux à barres verticalesUne ligne d'en-tête, pas de cellules fusionnées
LiensSeulement les URL impriméesLes liens cachés derrière des mots ne sont pas lus
Code en police à chasse fixeOui, en bloc de codeLe nom du langage est inconnu
Gras et italiquePas avec notre outilIl faudrait analyser la graisse de la police
Images et graphiquesNonÀ exporter séparément
Polices, couleurs, mise en pageNonMarkdown n'a pas de syntaxe pour ça
“L'objectif principal de la syntaxe de mise en forme de Markdown est de la rendre aussi lisible que possible.”
John Gruber, Page du projet Markdown, Daring Fireball (traduit)

Cet objectif explique pourquoi l'échange en vaut la peine. Vous renoncez à l'apparence exacte de la page et vous obtenez du texte brut agréable à lire, qui produit des diffs Git propres et se colle dans un wiki ou un modèle de chat. La spécification CommonMark définit la syntaxe de base, et GitHub Flavored Markdown ajoute les tableaux et les listes de tâches.

Vérifier d'abord le PDF : couche de texte, colonnes, polices

Pour convertir un PDF en Markdown sans perdre la mise en forme, commencez avant la conversion : deux minutes de vérification évitent une heure de réparation. Ouvrez le fichier dans n'importe quelle visionneuse et testez la couche de texte : essayez de sélectionner une phrase et de la coller ailleurs. Si ça marche, la page contient du vrai texte. Si toute la page se sélectionne d'un bloc, ou rien du tout, vous avez un PDF scanné, c'est-à-dire une photo de page sans caractères lisibles.

Illustration : une loupe montre des lignes de texte sélectionnables sur une page à deux colonnes, à côté d'une page scannée avec un signe d'avertissement
Texte sélectionnable : le convertisseur a de quoi lire. Un scan, non.

En ligne de commande, pdffonts (de Poppler) liste les polices d'un fichier. Une liste vide pour une page pleine de mots est un signe fort de scan. Regardez ensuite trois caractéristiques de mise en page qui décident de la propreté du résultat :

  • Colonnes. Les articles et lettres d'information sur deux colonnes obligent le convertisseur à deviner l'ordre de lecture.
  • Style des titres. Les titres composés en plus grand se repèrent facilement. Ceux qui sont seulement en gras à la taille du texte ressemblent à des paragraphes ordinaires pour une détection fondée sur la taille.
  • Polices. Le code en police à chasse fixe peut devenir un bloc de code. Des encodages de police inhabituels peuvent transformer les lettres en carrés ou en symboles illisibles, et aucun convertisseur ne répare ça.
Capture d'écran : avec un PDF composé uniquement d'images, notre convertisseur affiche « Aucun texte lisible » et précise qu'il ne fait pas d'OCR
Capture d'écran de notre convertisseur avec un fichier composé uniquement d'images : il signale que le fichier semble scanné et qu'il lit seulement la couche de texte, sans OCR.

Étape par étape : convertir un PDF en Markdown sans perdre la mise en forme

Cette routine marche avec n'importe quel convertisseur de couche de texte. Nous utilisons le nôtre, parce que nous pouvons expliquer exactement ce qu'il fait : il lit la couche de texte avec pdf.js, regroupe les mots en lignes et reconstruit titres, listes, tableaux et code d'après leur taille et leur position. Le fichier n'est pas envoyé.

  1. Ouvrez le convertisseur et déposez le fichier. Laissez « Nettoyer les traces d’IA » activé, sauf si vous avez besoin du texte brut.
  2. Lisez le résumé sous l'aperçu. Il indique les pages, les caractères et le nombre de tableaux trouvés. Beaucoup de pages avec très peu de caractères veut dire que certaines pages sont des scans.
  3. Parcourez l'aperçu de haut en bas. Regardez d'abord les niveaux de titre, puis les listes, puis les tableaux.
  4. Copiez ou téléchargez le fichier .md et ouvrez-le dans votre éditeur à côté d'un aperçu.
  5. Corrigez ce que la liste de contrôle ci-dessous relève, puis faites votre commit ou collez le résultat.
Capture d'écran : convertir un PDF en Markdown sans perdre la mise en forme dans notre convertisseur, avec un titre, une liste et un tableau dans l'aperçu
Capture d'écran : un fichier de test d'une page avec un titre, une liste et un tableau, converti en Markdown sans perdre la mise en forme. Le résumé indique un tableau trouvé.

Si vous convertissez surtout des rapports et des manuels, la page du convertisseur PDF en MD détaille les règles pour les titres et les listes. Pour les fichiers faits surtout de tableaux, lisez notre guide pour convertir des tableaux PDF en Markdown.

Titres, listes et tableaux : ce qu'il faut surveiller

Les titres, les listes et les tableaux portent l'essentiel de la structure d'un document ; ce sont donc eux qui décident si la mise en forme qui compte pour les lecteurs est conservée.

Titres

Pour garder les titres pendant la conversion, le convertisseur compare la hauteur de chaque ligne à celle du texte courant. Le nôtre attribue # à #### aux plus grandes tailles et traite aussi comme titres les lignes courtes en majuscules. Vérifiez deux choses : que le titre du document est le seul #, et que sections et sous-sections n'ont pas échangé leurs niveaux. Un titre de chapitre à peine plus grand que le texte courant peut perdre un niveau.

Listes

Les éléments de liste viennent de la puce (•, –, *) ou d'un numéro suivi d'un point ou d'une parenthèse. Les éléments numérotés sont écrits 1. à chaque fois, ce que Markdown affiche 1, 2, 3. Surveillez les éléments qui passent sur une deuxième ligne : dans un PDF, cette deuxième ligne n'est que du texte en plus, mais elle doit rester dans le même élément.

Tableaux

Les tableaux sont la partie qui demande le plus souvent du travail manuel. Les grilles tracées et les colonnes bien alignées se convertissent en général bien. Dans nos tests sur 12 mises en page de tableaux, les huit mises en page à un seul tableau et la page à deux tableaux sont revenues avec les lignes attendues, et la page de texte à deux colonnes n'a correctement donné aucun tableau. Un tableau tourné de 90 degrés n'a pas été détecté. Les cellules fusionnées sont défaites, car un tableau à barres verticales ne peut pas les représenter.

Ce qui se perd : gras/italique, figures, colonnes

Aucun outil ne peut convertir un PDF en Markdown sans perdre une forme ou une autre de mise en forme. Certaines pertes tiennent au format, d'autres sont des limites d'un outil précis, et il est utile de savoir lesquelles.

  • Gras et italique. Markdown a **gras** et *italique* : c'est donc une limite de l'outil, pas du format. Notre convertisseur ne détecte pas encore l'emphase ; il sort les mots sans marquage. Rajoutez l'emphase là où elle porte du sens, par exemple sur les avertissements.
  • Figures et graphiques. Ce sont des dessins ou des images intégrées, pas du texte. Ils sont ignorés. Exportez à part les images dont vous avez besoin et liez-les avec ![alt](fichier.png).
  • Notes de bas de page. Le texte de la note reste, mais pas le lien entre l'appel de note et la note. Recréez à la main celles qui comptent.
  • Mises en page à plusieurs colonnes. Les colonnes peuvent se mélanger quand l'ordre de lecture est ambigu. Vérifiez la première page de chaque section.
  • Espacements exacts et sauts de page. Les limites de page sont supprimées, et un paragraphe coupé par un saut de page est recollé quand c'est sans risque.

Les en-têtes, pieds de page répétés et numéros de page sont un cas à part : c'est une mise en forme dont on veut en général se débarrasser. Notre convertisseur supprime les lignes qui se répètent en haut ou en bas de la plupart des pages ; « Rapport annuel · Page 7 » n'apparaît donc pas au milieu d'un paragraphe.

Liste de contrôle après conversion

Illustration : une liste de contrôle avec trois éléments cochés à côté d'un éditeur où un crayon corrige une ligne

La dernière étape pour convertir un PDF en Markdown sans perdre la mise en forme est une relecture rapide. Parcourez cette liste dans votre éditeur avec l'aperçu ouvert ; pour un rapport ordinaire, cela prend quelques minutes.

  • Un titre # en haut, puis ## pour les sections. Corrigez tout niveau qui saute.
  • Aucun titre issu d'un en-tête égaré ou d'une légende d'image.
  • Éléments de liste complets, lignes renvoyées dans l'élément auquel elles appartiennent.
  • Chaque tableau a une ligne d'en-tête et le même nombre de cellules dans chaque ligne.
  • Cellules fusionnées ou vides remplies, ou expliquées dans une note sous le tableau.
  • Emphase rajoutée là où elle change le sens.
  • Espaces réservés ou liens d'image ajoutés là où se trouvait une figure.
  • Liens rajoutés : notre convertisseur garde les URL imprimées comme texte, mais ne lit pas les liens cachés derrière des mots.

Pour un modèle de chat ou un index RAG, ce sont les titres qui comptent le plus, car ils deviennent les limites des morceaux ; notre guide pour les LLM traite ce cas.

Quand un autre outil convient mieux (OCR, modèles de mise en page)

Un convertisseur de couche de texte convient aux fichiers exportés d'un traitement de texte, d'un logiciel de présentation ou d'un système de composition. Dans trois situations, mieux vaut changer d'outil que se battre avec le résultat.

  • Scans. Un PDF scanné a d'abord besoin d'OCR. OCRmyPDF ajoute une couche de texte cherchable aux fichiers scannés ; un convertisseur de texte peut ensuite les lire.
  • Mises en page complexes. Pour des articles denses avec formules, pages à plusieurs colonnes et nombreux tableaux, des outils à modèles de mise en page comme Docling annoncent la prise en charge de la mise en page, de l'ordre de lecture et de la structure des tableaux. Ils tournent en local en Python et demandent plus d'installation.
  • Scans et texte mélangés, en grand volume. marker peut combiner la couche de texte avec de l'OCR et une aide facultative d'un LLM. Vérifiez la licence des poids des modèles avant un usage commercial.

Quel que soit votre choix, gardez l'étape de vérification : aucun outil ne peut conserver une mise en forme que le fichier n'a jamais enregistrée. Notre page À propos liste ce que notre convertisseur ne fait pas, dont l'OCR.

Sources

  1. ISO 32000-2:2020 Document management — Portable document format — Part 2: PDF 2.0 — ISO, 2020
  2. CommonMark Spec, version 0.31.2 — CommonMark, 2024
  3. GitHub Flavored Markdown Spec — GitHub, 2019
  4. Markdown — Daring Fireball (John Gruber), 2004
  5. pdf.js — Mozilla
  6. pdffonts(1) manual page — Poppler / Debian
  7. OCRmyPDF — OCRmyPDF project
  8. Docling — Docling project

FAQ

Peut-on convertir un PDF en Markdown sans perdre la mise en forme ?

Vous pouvez garder la structure : titres, listes, tableaux, code et toutes les URL imprimées sur la page. Pas l'aspect visuel (polices, couleurs, colonnes, espacements exacts), parce que Markdown n'a pas de syntaxe pour cela. Le gras et l'italique existent en Markdown, mais notre convertisseur ne les détecte pas encore.

Pourquoi mes titres sont-ils sortis comme des paragraphes ordinaires ?

La plupart des convertisseurs, dont le nôtre, repèrent les titres à la taille de police. Un titre en gras mais de la même taille que le texte courant ressemble à un paragraphe. Ajoutez les # à la main, ou voyez si le document source peut être réexporté avec de vrais styles de titre.

Comment savoir si mon PDF a une couche de texte ?

Essayez de sélectionner et de copier une phrase. Si elle se colle comme du texte, il y a une couche de texte. En ligne de commande, pdffonts fichier.pdf liste les polices du fichier ; aucune police pour une page pleine de mots signifie en général un scan.

Que deviennent les tableaux pendant la conversion ?

Les tableaux détectés deviennent des tableaux à barres verticales de style GitHub avec une ligne d'en-tête. Les cellules fusionnées sont défaites dans la première cellule, suivie de cellules vides, et un tableau sur plusieurs pages revient en un tableau par page. Les solutions sont dans notre guide sur les tableaux.

La conversion d'un PDF scanné fonctionne-t-elle ?

Pas avec un convertisseur de couche de texte. Un scan n'a pas de caractères lisibles, notre outil affiche donc « Aucun texte lisible ». Passez d'abord un OCR, par exemple avec OCRmyPDF, puis convertissez le résultat. L'OCR ajoute ses propres erreurs : avec un scan, il est donc moins probable que la mise en forme soit conservée.

Mon fichier est-il envoyé pendant la conversion ?

Pas avec notre convertisseur. Le PDF est lu par pdf.js dans l'onglet de votre navigateur. Notre page de confidentialité explique ce que le site collecte.