iSomor
Retour au blog

Pourquoi le texte copié depuis un PDF est-il toujours désordonné ?

6 min de lectureFreed

Vous trouvez dans un PDF un passage utile que vous voulez mettre dans vos notes, transmettre à un collègue ou utiliser pour préparer une question. Sélectionner, copier, coller : cela devrait prendre quelques secondes.

Pourtant, après le collage, une phrase est découpée sur plusieurs lignes, un mot anglais est coupé au milieu et des numéros de page se retrouvent dans le paragraphe. Vous vouliez simplement extraire un passage ; vous voilà en train d’appuyer plusieurs fois sur Retour arrière.

Si l’ordre de lecture est correct et que seules les lignes sont coupées, commencez par regrouper les sauts de ligne à l’intérieur des paragraphes tout en conservant les lignes vides entre les paragraphes. Les titres, les listes et les traits d’union en fin de ligne doivent être vérifiés séparément. Si les phrases de deux colonnes sont mélangées, corrigez d’abord l’ordre de copie au lieu de supprimer directement les sauts de ligne.

Une ligne sur la page n’est pas forcément un paragraphe dans le texte

Sur une page PDF, une phrase revient à la ligne lorsqu’elle atteint le bord droit. Cette coupure visuelle peut être due uniquement au papier ou à la largeur de la colonne ; elle ne signifie pas forcément que l’auteur commence un nouveau paragraphe.

Lors de la copie, le lecteur doit réorganiser le texte de la page en un flux continu, mais il ne distingue pas toujours ces deux types de coupure. La documentation d’extraction de texte de pdfminer.six explique comment regrouper les caractères en lignes et en blocs de texte à partir de leur position et de leur distance. Un contenu qui semble continu sur la page peut donc être séparé lors de la copie.

Voici quelques exemples simples et la manière de les traiter.

Relier les phrases, tout en conservant les paragraphes

Commençons par un cas relativement facile à nettoyer : chaque paragraphe a été coupé en deux lignes, mais une ligne vide sépare encore les paragraphes.

Texte à nettoyer :

We copied a paragraph
from the report into our notes.

The original page remains available
for checking names and numbers.

Vous pouvez placer ce texte dans iSomor Text Cleaner et suivre ces trois étapes :

  1. Collez le texte. Commencez par placer un court extrait dans « Contenu original » et conservez les lignes vides entre les paragraphes.
  2. Choisissez les options et nettoyez. Activez « Fusionner les sauts de ligne simples » et « Normaliser les espaces ». Laissez d’abord « Relier les mots coupés en fin de ligne » désactivé, puis cliquez sur « Nettoyer le texte ».
  3. Vérifiez avant de récupérer le résultat. Comparez les deux côtés pour vous assurer que les paragraphes et les mots n’ont pas été reliés à tort, puis copiez le texte ou téléchargez le fichier TXT.

Sortie de l’outil :

We copied a paragraph from the report into our notes.

The original page remains available for checking names and numbers.

Le saut au milieu de la phrase a disparu, tandis que la séparation entre les deux paragraphes est conservée. Les espaces entre les mots anglais restent également présents : paragraph et from ne sont pas collés.

Dans cet exemple, le saut simple se trouve à l’intérieur du paragraphe et la ligne vide marque la limite entre les paragraphes. Si la copie ne laisse aussi qu’un seul saut entre les paragraphes, comparez avec l’original et ajoutez la ligne vide avant le nettoyage.

Ne supprimez pas tous les traits d’union en fin de ligne

Dans un document anglais, un mot peut être coupé en fin de ligne à cause de la mise en page. Par exemple :

The trans-
lation is ready for review.

Ici, trans- et lation appartiennent au même mot. Lorsque l’option « Relier les mots coupés en fin de ligne » est activée, l’outil produit :

The translation is ready for review.

Mais une apparence similaire ne demande pas toujours le même traitement. Prenons un texte qui contenait à l’origine cross-validation :

We used cross-
validation to compare the models.

Avec la même option activée, la sortie réelle devient :

We used crossvalidation to compare the models.

Le saut a disparu, mais le trait d’union qui avait un sens aussi. Ici, il faut conserver cross-validation.

Il est donc préférable de laisser la fusion des mots coupés désactivée au départ. Utilisez-la seulement après avoir confirmé que le mot a été séparé par la mise en page. Si le document contient des mots composés ou des numéros de modèle, nettoyez d’abord les sauts ordinaires, puis vérifiez les traits d’union un par un.

Les titres et les listes ont besoin d’un peu d’espace

Tout ce qui occupe une ligne séparée ne doit pas forcément être relié à la ligne suivante.

Dans l’exemple ci-dessous, la première ligne est un titre, suivi d’une explication et d’une liste :

Preparation
Keep the original PDF first.

- Check names
- Check dates
- Check amounts

Avec « Fusionner les sauts de ligne simples » et « Normaliser les espaces » activés, l’outil produit en réalité :

PreparationKeep the original PDF first.

- Check names
- Check dates
- Check amounts

La liste avec les marqueurs - est conservée, mais le titre et le texte ont été fusionnés. Une fois que « Preparation » devient du texte simple, sans taille ni graisse, un seul saut de ligne ne suffit plus à reconnaître le titre.

Pour ce type de document, ajoutez une ligne vide après le titre avant de nettoyer. Avec les mêmes options, on obtient :

Preparation

Keep the original PDF first.

- Check names
- Check dates
- Check amounts

La ligne vide sépare le titre du texte. Les listes imbriquées complexes, les tableaux et les formules doivent être conservés à part plutôt que fusionnés avec les paragraphes ordinaires en une seule opération.

Si l’ordre est déjà faux, ne vous précipitez pas pour nettoyer les sauts de ligne

Si une phrase de la colonne de gauche est suivie par le contenu de la colonne de droite, ou si un numéro de page se trouve au milieu d’une phrase, supprimer les sauts ne rétablira pas l’ordre de lecture. Revenez d’abord à l’étape de copie :

  • Deux colonnes mélangées : Essayez de sélectionner et de copier une colonne ou un petit passage à la fois, puis vérifiez l’ordre obtenu. Si le lecteur mélange encore les colonnes, essayez une autre méthode d’extraction.
  • En-têtes, pieds de page ou numéros de page mélangés : Comparez avec la page et supprimez uniquement les éléments confirmés comme intrus. Ne supprimez pas en bloc toutes les lignes contenant un chiffre : il peut s’agir d’un numéro de section ou d’une donnée du texte.
  • Un tableau devenu une suite de mots : Vérifiez les en-têtes, les unités et les correspondances entre lignes et colonnes avant de décider s’il peut être placé dans une note en texte brut. Moins d’espaces ne signifie pas que le tableau est restauré.
  • Le texte copié est illisible : Vérifiez séparément la couche de texte ou l’encodage de la police. Le nettoyage du format ne peut pas corriger ces caractères.
  • Une image numérisée ne contient pas de texte sélectionnable : Il faut d’abord utiliser l’OCR. Une couche OCR existante peut également contenir des erreurs ; pouvoir copier un texte ne signifie pas qu’il est exact. La documentation de pypdf distingue les PDF contenant du texte, les scans composés uniquement d’images et les PDF dotés d’une couche OCR. Le texte ne provient pas de la même source dans ces trois cas.

Avant d’utiliser le résultat copié, vérifiez ces points

Après avoir nettoyé un court passage, regardez surtout les endroits qui changent facilement :

  • Le début et la fin de chaque paragraphe sont-ils toujours corrects ?
  • Les mots anglais sont-ils séparés et les traits d’union significatifs sont-ils conservés ?
  • Les titres et les listes sont-ils toujours séparés ?
  • Les nombres, les unités, les signes moins et les symboles des formules sont-ils complets et bien placés ?

Si le passage contient de la ponctuation chinoise, vérifiez également ce qui l’entoure. Lors de notre test, la fusion du saut après une virgule a laissé un espace supplémentaire qu’il a fallu supprimer à la main. Vérifiez d’abord que la méthode convient à ce court passage avant de l’appliquer à des contenus similaires.

Si vous souhaitez citer ce passage, conservez le titre du document, le numéro de page ou le lien, puis vérifiez le texte par rapport à la source.

Nettoyer pour revenir à ce que vous faisiez

Le nettoyage du texte sert à supprimer quelques sauts répétés et espaces superflus, pas à tout transformer en un seul paragraphe. Lorsque le corps du texte est relié et que les titres et les listes restent séparés, le résultat est plus facile à réutiliser.

iSomor place le contenu original et le résultat côte à côte afin que vous puissiez voir les changements. Après vérification, vous pouvez retourner à vos notes, à vos extraits ou à votre discussion et vous concentrer sur le passage que vous vouliez utiliser au départ.