Pourquoi convertir un PDF fait perdre la structure, et que faire

Dernière vérification

Tous les convertisseurs PDF vers Markdown, celui-ci compris, produisent des résultats qui échouent parfois d'une façon qui semble négligente : un titre rétrogradé en paragraphe, un tableau aplati en mur de mots, une page à deux colonnes lue d'une traite dont les phrases s'entrelacent.

Rien de tout cela n'est de la négligence. Cela découle de ce qu'un PDF contient réellement, et une fois que vous le savez, les erreurs deviennent prévisibles — ce qui veut dire que vous pouvez anticiper lesquels de vos documents se convertiront proprement et lesquels non.

8 min de lecture

Ce qu'il y a réellement dans un PDF

Un document de traitement de texte est un arbre. Il enregistre qu'un passage est un titre de niveau deux, que ces paragraphes appartiennent à cette section, que ces cellules forment un tableau de trois colonnes. L'apparence est dérivée de cette structure au moment de l'affichage.

Un PDF, c'est l'inverse. C'est un jeu d'instructions de tracé : place ce glyphe, de cette police, à cette taille, à ces coordonnées sur cette page. La structure qui a produit la mise en page n'est pas enregistrée. Elle a servi à calculer les positions, puis elle a été jetée.

Ce n'est pas un oubli du format. Le PDF a été conçu en 1993 pour garantir qu'un document ait l'air identique sur chaque appareil et chaque imprimante, et la façon de le garantir est de spécifier l'apparence exactement en ne laissant rien à recalculer. Il a totalement réussi. Le prix à payer, c'est qu'un PDF sait où se trouve chaque caractère et rien de ce qu'il signifie.

Convertir un PDF en Markdown n'est donc pas une extraction. C'est une déduction : relire la géométrie et deviner quelle structure l'aurait produite. Un bon convertisseur devine bien. Aucun ne peut faire mieux que deviner, parce que la réponse n'est véritablement pas dans le fichier.

La seule exception : les PDF balisés

Un PDF balisé porte un arbre de structure supplémentaire, ajouté pour l'accessibilité afin qu'un lecteur d'écran puisse annoncer les titres et lire les cellules dans l'ordre. Quand il est présent et correct, l'essentiel des devinettes disparaît.

En pratique, il est rarement les deux. Le balisage est facultatif, la plupart des producteurs de PDF ne l'ajoutent pas, et beaucoup de ceux qui l'ajoutent produisent des balises qui contredisent la mise en page visible : chaque paragraphe marqué comme titre, ou un tableau balisé comme une suite de paragraphes. Un convertisseur qui ferait confiance à de mauvaises balises donnerait de plus mauvais résultats qu'un convertisseur qui les ignore.

Si vous maîtrisez la production du PDF et que la qualité de conversion vous importe, exporter un PDF correctement balisé depuis Word ou LibreOffice est la chose la plus utile à faire. Si vous convertissez des documents qui viennent d'ailleurs, partez du principe qu'ils ne sont pas balisés.

Comment la structure se déduit de la géométrie

Les règles qu'emploie tout convertisseur spatial sont globalement les mêmes, et elles valent d'être connues parce que chacune implique un mode de défaillance.

D'abord, fixer une unité. La hauteur du texte courant — la hauteur de police la plus fréquente du document, pondérée par le nombre de caractères composés à cette taille — devient l'étalon, de sorte que les règles valent aussi bien pour un document en 9 points qu'en 14.

Ensuite, tout mesurer par rapport à elle. Un texte partageant une ligne de base forme une ligne. Des lignes séparées par un petit écart vertical forment un paragraphe ; un écart plus grand en ouvre un nouveau. Un texte nettement plus grand que le corps est un titre, et l'ampleur de l'écart décide du niveau. Des rangées dont les fragments s'alignent sur des positions horizontales communes forment un tableau. Une bande verticale vide et haute au milieu d'une page signifie deux colonnes, et l'ordre de lecture doit donc descendre l'une puis l'autre.

Ce convertisseur emploie approximativement ces seuils, mesurés en multiples de la hauteur du corps :

H1Plus de 1,8 × la hauteur du texte courant
H2Plus de 1,4 × la hauteur du texte courant
H3Plus de 1,2 × la hauteur du texte courant
Même ligneLignes de base à ±0,35 × la hauteur du corps
Même paragrapheÉcart vertical jusqu'à 1,5 × la hauteur du corps
Tableau2+ rangées consécutives alignées sur 2+ positions x

Chaque échec découle d'une règle

Relisez cette liste comme une liste d'hypothèses et les erreurs cessent d'être mystérieuses.

  • Les titres distingués par la graisse ou la couleur plutôt que par la taille sont invisibles pour un seuil de taille. Un document dont les titres sont en gras 11 points sur un corps de 11 points n'a, géométriquement, aucun titre.
  • Les tableaux à cellules fusionnées cassent le test des positions communes, parce qu'une cellule fusionnée occupe une position qu'aucune autre rangée n'utilise. Les rangées cessent de s'aligner et le bloc cesse d'être reconnu comme tableau.
  • Une cellule dont le texte se répartit sur deux lignes ressemble à deux rangées, dont l'une a un trou.
  • Un interlignage généreux peut pousser les lignes d'un même paragraphe au-delà du seuil de rupture et le scinder. Un espacement serré entre paragraphes peut les fusionner.
  • Une mise en page à trois colonnes, ou à deux colonnes de largeurs inégales, ou dont les colonnes sont interrompues par une figure pleine largeur, met en échec le test de la gouttière centrale.
  • Un texte composé en image — un logo contenant des mots, un graphique avec ses légendes, une page numérisée — n'a aucun glyphe : il n'y a rien à positionner et rien à lire.

Quels documents se convertissent proprement

Le motif est toujours le même : des documents à une seule colonne produits par un traitement de texte, avec des titres visiblement plus grands que le corps, des tableaux rectangulaires simples et du vrai texte plutôt que des images de texte.

Cela décrit la plupart des rapports, articles, manuels, thèses, contrats, comptes rendus et documentations internes — c'est-à-dire l'essentiel de ce que les gens convertissent. Cela ne décrit pas les magazines, les brochures, les rapports annuels à infographies, les formulaires, les factures à tableaux complexes, ni quoi que ce soit de numérisé.

Se convertit bienRapports, articles, manuels, contrats et comptes rendus bureautiques
Se convertit à moitiéPDF académiques à deux colonnes, avec notes et figures
Se convertit malMagazines, brochures, formulaires, factures, mises en page conçues
Ne se convertit pasNumérisations et photographies, tant qu'aucune reconnaissance n'est faite

Obtenir un meilleur résultat d'un document difficile

Quelques mesures aident réellement, à peu près par ordre d'efficacité.

  • Si vous pouvez régénérer le PDF, exportez-en un balisé — ou mieux, sautez le PDF et convertissez le document d'origine. Convertir un PDF issu d'un fichier Word est toujours moins bon que convertir le fichier Word.
  • Découpez un document qui mélange les mises en page. Convertissez séparément les dix pages de prose et les quatre pages de tableaux, plutôt que de lutter contre une conversion qui doit gérer les deux.
  • Extrayez seul un tableau récalcitrant. Un tableau qui échoue au sein d'un document de 60 pages se convertit souvent correctement lorsqu'il est seul sur la page.
  • Attendez-vous à corriger les titres à la main dans un document qui les distingue par la graisse. C'est une passe de rechercher-remplacer, pas une ressaisie.
  • Pour une numérisation, lancez d'abord la reconnaissance de texte. Il n'y a pas de raccourci : aucun analyseur ne peut trouver un texte qui n'a jamais été encodé comme texte.

Lisez toujours le résultat

Le mode de défaillance qui coûte réellement du temps n'est pas la conversion qui casse visiblement. C'est celle qui laisse tomber quelque chose en silence — une note, la dernière rangée d'un tableau, une ligne tombée hors de la colonne détectée — et produit un Markdown propre et plausible avec un trou dedans.

Parcourez le Markdown converti en regard de l'original avant de vous y fier, et prêtez une attention particulière aux tableaux, à tout ce qui est chiffré et aux dernières lignes de chaque page. C'est là que se concentrent les pertes silencieuses.