Le RTF est du texte enrichi que presque tous les traitements de texte jamais écrits savent ouvrir. Le JSON est un arbre de données fait d'objets, de listes, de nombres et de chaînes. pandoc se tient entre les deux, et cette page dit exactement ce qui arrive à un fichier RTF en route vers le JSON.
Ce qui s'exécute quand un fichier RTF devient un JSON
pandoc en deux passes, sur une machine que nous louons et que nous surveillons. Votre fichier RTF est envoyé une fois, pandoc s'exécute une fois, le fichier JSON revient, et aucun des deux fichiers n'est conservé. RTF vers JSON fait partie des 3649 paires sur lesquelles ce moteur a été sondé avec un vrai fichier, et c'est pour cela que cette page existe quand celles que la sonde n'a pas su prouver n'existent pas.
Ce qui survit du fichier RTF dans le fichier JSON
Les listes du fichier RTF, imbrications comprises, plus les blocs de code, les citations et les liens, tous réexprimés en JSON.
Les images : pandoc les extrait du fichier RTF vers un répertoire de travail et les réintègre dans le JSON, si bien que rien ne finit par pointer vers un fichier qui n'existe plus.
Ce que la conversion RTF vers JSON vous coûte
Les tableaux. Le rédacteur JSON ne sait pas en porter, et la sonde l'a découvert à la dure : un fichier CSV, qui n'est rien d'autre qu'un tableau, est revenu en JSON bien formé et complètement vide, avec un code de retour nul. Le moteur refuse désormais ce cas net plutôt que de vous remettre le vide.
D'où viennent les fichiers RTF et JSON
RTF. Presque tout sait l'écrire, et c'est tout l'intérêt : un RTF est du texte brut que vous pouvez ouvrir dans un éditeur de texte et lire. C'était le format d'échange avant qu'il existe une norme ouverte, et il survit dans les exports de logiciels trop vieux ou trop petits pour livrer mieux.
Si un modèle doit lire le fichier JSON
La structure est ce qui subsiste du fichier RTF, et la structure est ce dont un modèle a besoin. RTF en entrée, JSON en sortie, avec l'arbre des titres intact plutôt qu'aplati en un seul long paragraphe.
RTF vers JSON, mesuré plutôt que promis
En passant RTF vers JSON sur le moteur réel avec un vrai fichier, pandoc a écrit 1 743 octets au format JSON en 0,1 secondes, machine par ailleurs au repos. C'est un fichier RTF un jour donné et non une moyenne, et c'est pourquoi le nombre est donné avec le fichier qui l'a produit.
Le verdict RTF vers JSON a été obtenu par un aller-retour pandoc, c'est-à-dire que la sortie a été relue par pandoc et devait encore contenir un mot témoin planté dans la source, ce qui prouve que le contenu a voyagé et pas seulement le conteneur. Le contrôle employé compte, parce qu'ils ne prouvent pas tous la même chose, et un code de statut 200 ne prouve strictement rien sur ce que le fichier JSON contient.
Le même fichier RTF, envoyé ailleurs
Les autres sorties que la sonde a mesurées à partir d'un fichier RTF, pour que le coût du choix du format JSON se lise face à quelque chose. Les tailles ne se comparent pas d'un moteur à l'autre, chaque famille ayant été sondée avec son propre fichier témoin RTF.
RTF vers PDF : 11 917 octets en 1,1 secondes, vérifié par une signature de format.
RTF vers MD : 265 octets en moins d'un dixième de seconde, vérifié par un aller-retour pandoc.
RTF vers DOCX : 5 422 octets en 1,1 secondes, vérifié par une signature de format.
RTF vers EPUB : 5 033 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
RTF vers TXT : 263 octets en moins d'un dixième de seconde, vérifié par la relecture du texte.
RTF vers HTML : 3 985 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
Les autres routes vers JSON, et ce qu'elles ont mesuré
Parmi les routes publiées vers JSON, RTF est la troisième plus grosse sortie des 8 mesurées. Les fichiers témoins diffèrent : ce classement porte sur la sonde et non sur votre document.
TXT vers JSON : 1 343 octets en moins d'un dixième de seconde.
CSV vers JSON : 110 octets en moins d'un dixième de seconde.
YAML vers JSON : 110 octets en moins d'un dixième de seconde.
DOCX vers JSON : 1 722 octets en 0,1 secondes.
HTML vers JSON : 2 058 octets en moins d'un dixième de seconde.
Ce que nous ne prétendrons pas sur RTF vers JSON
Un fichier RTF de plus de 25 Mo est refusé avant la fin de l'envoi plutôt qu'après, pour que vous n'attendiez pas un refus.
Une conversion RTF vers JSON qui dépasse 60 secondes est tuée, et le processus pandoc avec elle. Une exécution abandonnée resterait posée sur l'un des deux cœurs de la machine jusqu'à ce que quelqu'un le remarque.
32 des 935 paires sondées dans la famille qui sert RTF vers JSON ont échoué, et celle-ci n'en fait pas partie. Elles échouent pour des raisons qu'il vaut mieux connaître : un rédacteur incapable de porter ce dont le document est fait, ou une sortie que le moteur n'a pas su relire. Elles sont comptées ici plutôt que cachées, parce qu'une paire qui échoue en silence est pire qu'une paire qui échoue bruyamment.
pandoc n'écrit jamais le JSON en passant par un moteur TeX ici, et il n'écrit pas de PDF du tout : les onze moteurs qu'il lui faudrait ne sont pas sur cette machine, et une distribution TeX pèse plusieurs gigaoctets. Qui veut un PDF à partir d'un fichier RTF passe par LibreOffice ou par calibre, qui en sont réellement capables.
Un fichier RTF à la fois, choisi dans le navigateur. Il n'y a rien d'autre à régler et rien d'autre à proposer.
RTF vers JSON : les questions que l'on pose
Qu'est-ce qui convertit vraiment mon fichier RTF en JSON ?
C'est pandoc qui s'en charge, en deux passes, sur une machine que nous louons et que nous surveillons. Ni astuce de navigateur, ni service d'un tiers : le fichier RTF est envoyé une fois, pandoc s'exécute une fois, le JSON revient, et aucun des deux fichiers n'est conservé ensuite.
Combien de temps prend une conversion RTF vers JSON ?
Sur le fichier utilisé par la sonde, pandoc a mis 0,1 seconde et écrit 1 743 octets de JSON. C'est une mesure réelle sur un fichier RTF réel, pas une moyenne et pas une promesse sur le vôtre : un RTF plus gros prend plus longtemps, et au-delà de 60 secondes l'exécution est arrêtée.
Qu'est-ce que je perds en passant du RTF au JSON ?
Celle qu'il faut connaître en premier : les tableaux. Le rédacteur JSON ne sait pas en porter, et la sonde l'a découvert à la dure : un fichier CSV, qui n'est rien d'autre qu'un tableau, est revenu en JSON bien formé et complètement vide, avec un code de retour nul. Le moteur refuse désormais ce cas net plutôt que de vous remettre le vide.
Les tableaux de mon fichier RTF sont-ils encore des tableaux dans le JSON ?
Non, et c'est une propriété du JSON plutôt qu'un défaut de ce chemin. Le JSON ne sait pas porter de tableau : un fichier RTF bâti autour d'un tableau est donc le mauvais candidat pour cette paire.
La conversion RTF vers JSON est-elle gratuite ?
Il y a une franchise gratuite chaque mois, et une conversion RTF vers JSON coûte un demi-crédit dessus. Quand la franchise est épuisée, l'outil le dit et s'arrête, plutôt que de vous remettre discrètement un JSON moins bon.