Comment ça marche

Pourquoi le texte copié depuis un PDF ressort en charabia

Pourquoi le texte que je copie depuis un PDF se colle-t-il en non-sens ?

Réponse courte

Parce que ce qu’un PDF affiche et ce qu’il peut vous remettre sont deux tables distinctes. La page dessine des codes numérotés à travers une police, et c’est ce qui lui donne la bonne apparence ; la copie a besoin d’une seconde table disant quel caractère représente chaque code, et cette table est facultative. Quand elle manque ou qu’elle est fausse, la page est impeccable et le presse-papiers est du charabia, et aucun nombre de nouvelles tentatives n’y change rien.

Un PDF dessine des glyphes, pas des caractères

Le flux de contenu d’une page ne contient pas votre texte. Il contient des nombres.

01 02 03 041A a B b23? ? ? ?4

Deux tables, et une seule est obligatoire

  1. La page stocke des codes, pas des lettres. À eux seuls, ces nombres ne signifient rien.
  2. La police transforme chaque code en un contour. C’est la table qu’un PDF doit avoir, et celle qui donne à la page sa bonne apparence.
  3. La copie a besoin de l’autre table — du code vers le caractère Unicode — et un fichier peut être écrit sans elle. Il n’y a alors rien à remettre.
  4. La page peut donc être impeccable et le presse-papiers du non-sens en même temps. Rien n’est cassé ; une table n’a jamais été écrite.

Chaque nombre est un code. La ressource de police attachée à la page fait correspondre ce code à un contour — une forme à dessiner. C’est la seule table qu’un PDF est tenu d’avoir, parce que c’est la seule nécessaire pour poser des marques sur une page, et c’est pourquoi le document a l’air parfait.

La copie a besoin de la table qui va dans l’autre sens : ce code signifie le caractère U+0041, un A majuscule. ISO 32000-1 prévoit exactement cela, sous la forme d’une CMap ToUnicode attachée à la police. Elle est facultative. Un producteur qui ne se souciait que de l’impression correcte du document n’avait aucune raison d’en écrire une, et rien dans le fichier ne se plaint de son absence.

Le sous-ensemble aggrave la défaillance. Quand un producteur n’intègre que les glyphes qu’un document utilise réellement, il est libre de les numéroter comme il veut — couramment 1, 2, 3 dans l’ordre où les caractères ont été rencontrés la première fois. Sans table ToUnicode, ces nombres ne signifient absolument rien ; avec une table, ils signifient ce qu’elle dit. Pourquoi un PDF s’affiche différemment sur un autre ordinateur traite du sous-ensemble et des autres surprises qu’il provoque.

La conséquence à bien assimiler : c’est une propriété du fichier, pas de votre ordinateur. Changer de lecteur, de système d’exploitation, de réglages de police ou de destination de collage n’aidera pas, parce que tous consultent la même table manquante. C’est aussi pourquoi la recherche à l’intérieur du document ne trouve rien — le lecteur compare ce que vous avez saisi avec cette même table cassée.

Lequel de ces cas est le vôtre

Le symptôme identifie la cause assez fiablement, et la cause décide si quelque chose peut être fait.

Ce que vous obtenezDe quoi il s’agitEst-ce réparable
Rien ne se sélectionne ; le curseur n’accroche aucun motIl n’y a pas de texte. La page est une image.Oui, en la faisant reconnaître — OCR
Tous les caractères faux, de façon constante — un alphabet décalé, ou des rangées de rectanglesTable ToUnicode manquante ou incorrectePas en l’état. OCR, ou ressaisie
Presque juste, mais fi, fl et ffi disparaissent ou deviennent un caractère bizarreGlyphes de ligature sans correspondance de caractèresOui — rechercher-remplacer après coup
Les bons caractères, pas d’espaces : thequickbrownLe fichier ne contient aucun caractère d’espaceSouvent, avec un autre extracteur
Les bons caractères, des espaces à l’intérieur des mots : t h eUn large interlettrage dans la mise en page lu comme des écartsSouvent, avec un autre extracteur
Les bons mots, mauvais ordre — deux colonnes entrelacées, une note de bas de page au milieu d’une phraseL’extraction suit l’ordre dans lequel les marques ont été écritesParfois. Cela dépend du fichier
Des accents détachés, ou des lettres se scindant en deux caractèresDes signes combinants stockés séparément de leurs lettres de baseOui — normalisation Unicode

La première ligne est celle à écarter avant tout le reste, parce qu’elle est courante et qu’elle n’est pas le sujet de cet article. Si rien ne se surligne quand vous glissez le curseur sur la page, vous avez un scan, et il n’y a aucun texte à défigurer.

1T e x t54 65 78 74234

La même page, avec et sans texte

  1. Un PDF numérique. À l’écran, indiscernable de celui de droite.
  2. En dessous : des codes de caractères, chacun avec une police et une position. Cherchable, sélectionnable, convertible.
  3. Un PDF scanné. La même page, et la même apparence.
  4. En dessous : une grille d’échantillons clairs et sombres. Pas de lettres, pas de mots, rien à chercher.

Ce PDF est-il scanné ou est-ce du texte ? explique comment distinguer les deux en quelques secondes.

Les espaces et l’ordre sont un autre problème

Ces deux-là produisent un désastre d’apparence lisible plutôt que du non-sens, et ils ont une cause différente de celle de la table manquante.

Il n’y a peut-être aucun espace dans le fichier

Rien n’oblige un PDF à contenir des caractères d’espace. Une ligne de texte est typiquement dessinée comme une série de chaînes séparées par des décalages numériques, et c’est le décalage qui fait l’écart entre deux mots. Savoir si cet écart est un espace est un jugement que l’extracteur porte d’après la largeur : trop généreux et les mots se collent, trop empressé et les mots se coupent en deux. C’est une heuristique, et c’est pourquoi deux outils divergent sur le même fichier sans qu’aucun ait tort.

L’ordre est l’ordre dans lequel cela a été dessiné

12345678123

Pourquoi deux colonnes ressortent entrelacées

  1. Deux colonnes, dessinées correctement. Vous voyez des colonnes à cause de l’endroit où sont les marques, pas parce que le fichier le dit.
  2. L’ordre dans lequel les marques ont réellement été écrites. Un moteur de mise en page alterne souvent entre les cadres, et rien n’enregistre que c’étaient des colonnes.
  3. Un extracteur suit cet ordre : les colonnes ressortent donc entrelacées ligne par ligne. Un PDF balisé énonce le véritable ordre de lecture ; un PDF non balisé n’a rien à consulter.

Le flux de contenu est dans l’ordre où l’application productrice a émis les marques. Un moteur de mise en page qui parcourt des cadres de texte peut alterner entre deux colonnes ; un modèle peut placer le pied de page avant le corps ; un tableau peut être dessiné cellule par cellule en descendant les colonnes plutôt qu’en parcourant les lignes. Rien, dans un PDF ordinaire, n’enregistre que ces marques formaient une colonne, une note de bas de page ou un tableau — les colonnes existent dans votre lecture de la page, pas dans le fichier.

Les extracteurs compensent en triant les marques par position, ce qui traite bien les pages simples à deux colonnes et mal les mises en page compliquées. Un PDF balisé est l’exception : il porte un arbre de structure énonçant le véritable ordre de lecture, et un extracteur qui en tient compte obtient la bonne réponse sans deviner. C’est l’un des vrais bénéfices pratiques du balisage, bien au-delà de l’exigence d’accessibilité pour laquelle il existe généralement — voir ce qui rend un PDF accessible.

Ce qui aide réellement, dans l’ordre

  1. Essayez un autre extracteur avant toute chose. PDF en texte fonctionne dans votre navigateur avec PDF.js et respecte les tables ToUnicode là où elles existent. S’il renvoie un texte correct, le fichier n’a jamais été le problème et c’est le comportement de copie de votre lecteur qui l’était — une découverte de deux minutes qui vaut d’être faite avant une découverte de deux heures.
  2. Si la table est cassée, aucun outil travaillant sur la couche de texte n’aidera. Tous les extracteurs lisent la même table. Convertir en Word, en tableur ou en texte brut la consulte pareillement : tous produisent donc le même non-sens dans des emballages différents. C’est le moment d’arrêter d’essayer des outils.
  3. Ignorez la couche de texte et lisez la page comme une image. C’est l’OCR : rendre la page, reconnaître les formes, écrire une nouvelle couche de texte. C’est la seule issue fiable à une table cassée, et elle a deux coûts — la reconnaissance commet ses propres erreurs, et l’outil fonctionne sur un serveur, donc le document est téléversé. Pour un fichier confidentiel, c’est une décision plutôt qu’un clic.
  4. S’il s’agit des espaces ou de l’ordre, extrayez puis nettoyez. Une passe de rechercher-remplacer sur le texte extrait corrige généralement les ligatures et les mots collés plus vite que n’importe quel outil. Pour un document sur lequel vous devez continuer à travailler, PDF en Word vous donne quelque chose de modifiable à réparer — côté serveur également, et ce qu’il peut et ne peut pas récupérer vaut d’être lu d’abord.
  5. Si c’est vous qui produisez le fichier, corrigez à la source. Exportez plutôt que d’imprimer en PDF, intégrez les polices, et balisez le document. Un fichier exporté depuis un traitement de texte actuel se copie presque toujours correctement, et ceux qui ne le font pas sont généralement ceux qui sont passés par un pilote d’impression en chemin.

Et la solution sans gloire : pour une page ou deux, la ressaisie est souvent plus rapide que tout ce qui précède. Cela vaut la peine d’être dit à voix haute, parce que les gens passent une heure sur un travail de cinq minutes par le sentiment que l’ordinateur devrait bien pouvoir le faire.

Ce qu’aucun outil ne peut faire

  • Il ne peut pas reconstruire une table qui n’a jamais été écrite. L’information n’est pas cachée ni chiffrée, elle est absente. Tout ce qui prétend réparer une table ToUnicode cassée déduit les caractères de la forme des glyphes, ce qui est de la reconnaissance optique de caractères sous une autre étiquette.
  • L’OCR vous donne une nouvelle meilleure supposition, pas l’original. Ses erreurs se concentrent exactement sur ce que vous pouvez le moins vous permettre de rater — les chiffres, les numéros de référence, les noms de famille, tout ce que vous ne pouvez pas vérifier en lisant pour le sens. Relisez tout ce sur quoi vous allez agir.
  • Une extraction correcte n’est toujours pas le document. Les tableaux reviennent sous forme de lignes, les notes de bas de page reviennent au milieu, les légendes reviennent détachées de leurs figures. Obtenir chaque caractère correctement ne dit rien de la structure, et aucune exactitude au niveau du caractère ne le dira jamais.
  • Les écritures de droite à gauche et les écritures complexes ont une seconde défaillance par-dessus celle-ci. Certains producteurs écrivent l’arabe ou l’hébreu dans l’ordre visuel, en utilisant des formes de présentation plutôt que les lettres sous-jacentes. Une table de caractères correcte donne alors un texte techniquement juste qui se lit à l’envers, et le remettre dans l’ordre logique est un travail en soi.

La bonne habitude est de tester avant de s’engager : prenez une page, extrayez-la, et lisez ce qui en sort. Deux minutes au départ décident si ce document est un travail de copier-coller ou un travail de ressaisie, et c’est la seule décision qui compte vraiment ici.

Les outils traités dans cet article

Sources

Documentation primaire des affirmations ci-dessus.

Dernière révision : 28 septembre 2026

Publié par iBuildPDF.

Plus dans la base de connaissances

Parcourir la base de connaissances