Convertir un RTF en texte : jeter les mots de contrôle, garder les mots
Beaucoup de gens découvrent le RTF par le mauvais bout. Vous avez un dossier rempli de fichiers
.rtf, il vous faut le contenu dans une base de données, et comme le format est techniquement de
l'ASCII pur, vous vous dites qu'il suffit d'ouvrir le fichier et de le lire. Puis vous regardez ce que vous
avez chargé et vous tombez sur {\rtf1\ansi\deff0{\fonttbl{\f0\froman Times
New Roman;}}{\colortbl;\red0\green0\blue0;}\viewkind4\uc1\pard\f0\fs24 Dear Sir,\par — et quatre
kilo-octets du même acabit avant la deuxième phrase de la lettre.
Le RTF est bien du texte, mais du texte enveloppé dans un langage de balisage : pour en extraire les mots, il faut réellement analyser les mots de contrôle, pas lancer une expression régulière optimiste sur les antislashs. C'est exactement ce que fait cette page. Extrayez le texte d'un fichier RTF et vous récupérez la prose dans l'ordre de lecture, et rien d'autre. Gratuit, sans inscription, 50 Mo maximum, rien n'est conservé chez nous.
Pourquoi le nettoyage à la va-vite abîme vos fichiers
La tentation est grande d'écrire une fonction de vingt lignes qui supprime tout ce qui commence par un antislash. Ça marche sur les trois premiers fichiers, puis ça massacre discrètement tous les autres. Les façons précises dont ça casse valent la peine d'être connues même si vous n'écrivez jamais cette fonction, parce que ce sont exactement les cas qu'un vrai analyseur doit traiter :
- Les groupes d'en-tête ne sont pas du contenu. Table de polices, table de couleurs, feuille de styles, table de révisions : tout cela occupe le début du fichier, entre accolades. Supprimez les mots de contrôle mais conservez le texte contenu dans ces groupes, et votre sortie commence par une liste de noms de polices.
- Les accolades ont un sens. Les groupes s'imbriquent et délimitent la portée de la mise
en forme. Certains —
\*\generator,\info, les données d'objets embarqués — doivent être jetés entièrement, pas ouverts. - Les échappements ressemblent à du contenu.
\'92est un vrai caractère, pas un mot de contrôle à effacer. Supprimez-le et toutes les apostrophes du document disparaissent en plein milieu des mots. - Du binaire se cache à l'intérieur. Les images vivent dans des groupes
\pict, sous forme de longues suites de chiffres hexadécimaux qui, pour un filtre naïf, ressemblent trait pour trait à du texte ordinaire. C'est comme ça qu'on se retrouve avec 40 000 caractères de0100090000au milieu d'une lettre. - Les marques de paragraphe comptent.
\pardoit devenir un saut de ligne, pas rien du tout, sinon le document entier vous arrive sous la forme d'un unique paragraphe interminable.
Où le RTF se trouve par milliers
Personne n'a trois fichiers RTF. Les gens en ont trois mille, parce qu'un système quelque part en produit sans interruption depuis 2004. Les suspects habituels :
- Dossiers juridiques et pièces de procédure. Transcriptions, conclusions et correspondance exportées depuis des logiciels de gestion de dossiers, souvent dans un seul répertoire à plat avec des noms de fichiers incompréhensibles.
- Documentation médicale. Comptes rendus dictés, lettres de sortie, courriers d'adressage, stockés comme blobs RTF dans les tables du dossier patient — en général parce que l'éditeur a fait ce choix en 2003 et que rien depuis n'a imposé d'en changer.
- Archives administratives. Retenu pour la même raison que dans les tribunaux : une spécification ouverte et stable, qui s'ouvrira encore dans trente ans.
- Vieilles archives de messagerie. Le mode texte enrichi d'Outlook, c'est du RTF sous le capot ; il ressort donc en permanence de l'extraction des e-mails MSG.
- Exports d'applications métier. N'importe quel CRM, outil de support ou logiciel métier doté d'un champ de texte enrichi antérieur à l'ère des éditeurs web stocke presque à coup sûr du RTF dans une colonne.
- Documents WordPad. Des décennies de notes informelles et de modes opératoires enregistrés par des gens qui utilisaient ce que Windows ouvrait par défaut.
Le point commun : ce sont des archives que vous voulez chercher, indexer ou interroger — précisément le travail pour lequel le texte brut existe.
L'encodage, c'est là que ça fait vraiment mal
Sur le terrain, la plupart des problèmes de RTF sont des problèmes de jeu de caractères, pas de structure. Le format a été conçu avant qu'Unicode ne s'impose, et les fichiers anciens portent cette histoire en eux.
L'en-tête déclare une page de code — \ansicpg1252 pour l'européen occidental de Windows est la
plus courante, mais vous croiserez \ansicpg1251 pour le cyrillique, \ansicpg1250
pour l'Europe centrale, et \mac pour les fichiers nés sur un Macintosh classique. Les caractères
non-ASCII apparaissent ensuite sous forme d'échappements hexadécimaux comme \'92 ou
\'e9, dont le sens dépend entièrement de cette déclaration. Trompez-vous et le é devient une
lettre cyrillique, ou l'apostrophe courbe se transforme en carré vide. En français, la question n'est pas
théorique : sur un corpus de courriers, les accents sont partout, et une page de code mal résolue se voit dès
la première ligne.
Les fichiers plus récents utilisent \uN? — un point de code Unicode suivi d'un caractère de
repli pour les lecteurs trop anciens. Correctement analysé, vous obtenez le vrai caractère ; analysé à la
légère, vous obtenez le repli, souvent un point d'interrogation littéral. C'est l'origine de ces documents où
chaque tiret cadratin et chaque apostrophe typographique est devenu un ?.
Donc : avant de verser un lot entier dans une base, ouvrez deux ou trois fichiers convertis et regardez spécifiquement les apostrophes, les guillemets, les tirets et les noms accentués. Ces quatre choses vous disent si l'encodage a été lu correctement. Et quand c'est faux, c'est faux de façon systématique : un rechercher-remplacer sur l'ensemble du lot règle l'affaire d'un coup.
Texte ou Markdown ? La question qui tranche
Tout se ramène à ceci : y a-t-il dans le document des tableaux auxquels vous tenez ?
Les tableaux RTF sont définis explicitement par \trowd et \cellx : ils se
reconstruisent proprement en tableaux à barres verticales si vous demandez du Markdown. Aplatissez-les en
texte et toutes les valeurs survivent, mais la colonne à laquelle chacune appartenait, non — un tableau de
facturation devient une suite de nombres séparés par des espaces, et aucune formulation de prompt ne vous
rendra les colonnes. Si c'est votre cas, prenez
RTF vers Markdown. Le sélecteur
de format en haut de cette page bascule et conserve le fichier que vous avez déjà choisi.
Pour tout le reste — lettres, notes, transcriptions, notes de service, correspondance, c'est-à-dire
l'essentiel de ce à quoi le RTF sert réellement — le texte est la meilleure sortie. C'est ce qu'attend un
index plein texte, ce qu'un pipeline d'embeddings découpe par défaut, ce que lit grep, ce qu'un
classifieur reçoit. Les astérisques et les barres verticales du Markdown ne seraient que des caractères à
retirer à l'étape suivante.
Convertir un dossier entier de fichiers RTF en txt
- Compressez le dossier. ZIP vers texte convertit en une seule passe tous les fichiers pris en charge contenus dans une archive, ce qui vaut nettement mieux que de les envoyer un par un. Attention au plafond de 50 Mo : le RTF n'est pas compressé, et les fichiers contenant des images embarquées pèsent bien plus lourd que leur nombre de mots ne le laisse penser.
- Échantillonnez avant de vous engager. Convertissez d'abord cinq fichiers d'époques différentes. Les problèmes d'encodage se regroupent par période et par outil producteur : un échantillon vous montrera le motif avant d'en traiter trois mille.
- Conservez les noms de fichiers comme métadonnées. Une fois le contenu à plat, le nom du fichier est parfois la seule provenance qu'il vous reste. Stockez-le à côté de chaque enregistrement.
- Attendez-vous au texte passe-partout. En-têtes de courrier, pieds de page et formules de politesse se répètent dans chaque fichier d'un corpus. Ils gonflent artificiellement le vocabulaire de toute analyse de fréquence ou de thématique : retirez-les dès que vous repérez le motif.
- Surveillez les coupures. Beaucoup d'outils produisent du RTF légèrement non conforme, avec des accolades déséquilibrées. Si un fichier converti s'arrête en pleine phrase, c'est la source qui est malformée, et non la conversion qui échoue en silence — ouvrez l'original dans un éditeur de texte et vous verrez en général où ça dérape.
- Regardez le nombre de tokens. Le compteur sous la sortie vous indique ce que coûte un document avant même de le coller quelque part, ce qui est bien pratique quand vous décidez quelle part d'une archive tient dans un seul prompt.
RTF, DOCX : lequel convertir
Si un document existe dans les deux formats, prenez le DOCX. Il porte une vraie hiérarchie de styles et une sémantique plus riche, et Word vers texte est l'équivalent moderne le plus proche de cette page.
Mais le RTF garde un avantage réel pour l'extraction de texte en masse, et ce n'est pas de la nostalgie : c'est un flux linéaire unique, sans couche de compression. Pas de conteneur zip corruptible, pas de fragments XML qui se référencent les uns les autres. Quand quelque chose cloche, vous ouvrez le fichier dans n'importe quel éditeur et vous lisez la cause de vos propres yeux. Sur quelques milliers de fichiers d'origine inconnue, cette prévisibilité vaut étonnamment cher.
Questions fréquentes
Comment extraire le texte d'un fichier RTF ?
Déposez le .rtf dans le convertisseur ci-dessus. Les mots de contrôle sont analysés correctement et vous récupérez la prose dans l'ordre de lecture, sans une trace de balisage. Gratuit, sans inscription, 50 Mo par fichier, rien n'est conservé. Téléchargez en .txt ou copiez la sortie.
Pourquoi ne puis-je pas simplement ouvrir le RTF dans un éditeur de texte ?
Vous le pouvez, et vous verrez {\rtf1\ansi\deff0{\fonttbl{\f0\froman Times New Roman;}} suivi de plusieurs kilo-octets supplémentaires avant la deuxième phrase de la lettre. Le RTF est de l'ASCII, mais de l'ASCII enveloppé dans un langage de balisage. Les mots sont bien là, entrelacés avec des tables de polices, des tables de couleurs et des mots de contrôle qu'il faut analyser plutôt qu'éliminer à coups de motifs.
Pourquoi ma suppression maison des antislashs donne-t-elle une sortie cassée ?
Parce que les mots de contrôle ne sont pas délimités de façon uniforme et que certains transportent des données qu'il faut garder. Une expression régulière qui efface tout ce qui suit un antislash efface aussi \'e9, c'est-à-dire la façon dont le RTF encode un caractère accentué — chaque nom portant un signe diacritique perd donc des lettres en silence. Ça marche sur les trois premiers fichiers et ça détruit tranquillement les suivants.
Les caractères accentués et non anglais sont-ils préservés ?
Oui, dès lors que le fichier déclare correctement son encodage, ce qui est le cas de la plupart. Le RTF échappe les caractères non-ASCII en séquences hexadécimales rattachées à une page de code déclarée, et une analyse correcte les résout en véritable Unicode. C'est de loin l'échec le plus fréquent des nettoyages artisanaux, et celui qui fait le plus de dégâts sur un jeu de données de noms ou d'adresses.
Les tableaux d'un document RTF sont-ils convertis ?
Le contenu des cellules ressort bien, mais sous forme de texte au fil de l'eau et non de grille : le texte brut n'a aucun moyen d'exprimer une colonne. Si le document est un rapport construit autour de tableaux, RTF vers Markdown conserve à la place les lignes et les colonnes sous forme de tableaux à barres verticales.
Le reste de la boîte à outils
Le RTF n'est qu'un des treize formats pris en charge. File2Txt les traite tous depuis un seul envoi si vous préférez ne pas choisir de page. Dans le voisinage : PDF vers texte pour les documents à mise en page figée, EPUB vers texte pour les livres numériques, HTML vers texte pour les pages enregistrées, et XML vers texte pour l'autre grand format d'échange hérité du passé.
Vous travaillez sur du code ou sur le web en direct ? Il y a le convertisseur de dépôt GitHub en texte, une version GitLab, un convertisseur de dossier local, et Web2Txt pour récupérer des URL. Le guide de préparation des documents pour les LLM traite la version générale du sujet.
Repo2Txt est conçu et maintenu par v12hero, un développeur indépendant qui crée des applications natives et web respectueuses de la vie privée.