Le DOCX, c'est Word au format OOXML, avec ses titres, ses tableaux et ses styles nommés. L'ICML est ce qu'on place dans Adobe InDesign quand le texte vient d'ailleurs. pandoc se tient entre les deux, et cette page dit exactement ce qui arrive à un fichier DOCX en route vers l'ICML.
Ce qui s'exécute quand un fichier DOCX devient un ICML
pandoc en deux passes, sur une machine que nous louons et que nous surveillons. Votre fichier DOCX est envoyé une fois, pandoc s'exécute une fois, le fichier ICML revient, et aucun des deux fichiers n'est conservé. DOCX vers ICML 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 DOCX dans le fichier ICML
La hiérarchie des titres. pandoc analyse le fichier DOCX vers son propre arbre de document et écrit cet arbre en ICML, si bien qu'un titre de niveau deux reste un titre de niveau deux et non simplement du texte en gras.
Les tableaux, reconstruits en syntaxe ICML plutôt que photographiés. C'est la différence entre un tableau qu'une machine sait lire et l'image d'un tableau, et c'est toute la raison de faire passer un fichier DOCX par pandoc plutôt que par une imprimante.
Les listes du fichier DOCX, imbrications comprises, plus les blocs de code, les citations et les liens, tous réexprimés en ICML.
Les images : pandoc les extrait du fichier DOCX vers un répertoire de travail et les réintègre dans l'ICML, si bien que rien ne finit par pointer vers un fichier qui n'existe plus.
Ce que la conversion DOCX vers ICML vous coûte
La couche de présentation. pandoc ne traduit pas le fichier DOCX en ICML, il le reconstruit depuis son propre arbre de document : les styles personnalisés, la mise en page, les en-têtes et les pieds de page ne traversent pas. La structure, si, et c'est de cela que l'arbre est fait.
D'où viennent les fichiers DOCX et ICML
DOCX. Word l'écrit, et Google Docs aussi à l'export. C'est la norme ISO/IEC 29500, une archive zip de XML, et c'est ce qui permet à un programme de lire le document sans ouvrir Word.
ICML. InCopy Markup Language, le format d'échange d'Adobe. Un maquettiste place un fichier .icml dans une mise en page InDesign et les styles de paragraphe et de caractère y atterrissent en tant que styles, et non en tant que mise en forme. C'est la façon honnête de faire entrer un manuscrit dans une maquette sans le retaper.
Si un modèle doit lire le fichier ICML
La structure est ce qui subsiste du fichier DOCX, et la structure est ce dont un modèle a besoin. DOCX en entrée, ICML en sortie, avec l'arbre des titres intact plutôt qu'aplati en un seul long paragraphe.
DOCX vers ICML, mesuré plutôt que promis
En passant DOCX vers ICML sur le moteur réel avec un vrai fichier, pandoc a écrit 5 839 octets au format ICML en 0,1 secondes, machine par ailleurs au repos. C'est un fichier DOCX un jour donné et non une moyenne, et c'est pourquoi le nombre est donné avec le fichier qui l'a produit.
Le verdict DOCX vers ICML a été obtenu par la recherche d'un marqueur propre au format, et du mot témoin avec lui, c'est-à-dire que la sortie porte un marqueur qu'aucun autre format n'écrit, et le mot témoin planté dans la source y est encore. Rien ne sait relire ces cibles, les deux ont donc été exigés : le mot seul prouverait que le texte a voyagé, le marqueur seul que la forme est bonne. 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 ICML contient.
Le même fichier DOCX, envoyé ailleurs
Les autres sorties que la sonde a mesurées à partir d'un fichier DOCX, pour que le coût du choix du format ICML 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 DOCX.
DOCX vers PDF : 11 917 octets en 1,2 secondes, vérifié par une signature de format.
DOCX vers MD : 266 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
DOCX vers EPUB : 5 040 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
DOCX vers TXT : 264 octets en 0,1 secondes, vérifié par la relecture du texte.
DOCX vers HTML : 4 018 octets en 0,1 secondes, vérifié par un aller-retour pandoc.
DOCX vers RTF : 4 205 octets en 1,1 secondes, vérifié par la relecture du type interne et la recherche d'un mot témoin.
Ce que nous ne prétendrons pas sur DOCX vers ICML
Un fichier DOCX 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 DOCX vers ICML 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 DOCX vers ICML 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 l'ICML 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 DOCX passe par LibreOffice ou par calibre, qui en sont réellement capables.
Un fichier DOCX à la fois, choisi dans le navigateur. Il n'y a rien d'autre à régler et rien d'autre à proposer.
DOCX vers ICML : les questions que l'on pose
Qu'est-ce qui convertit vraiment mon fichier DOCX en ICML ?
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 DOCX est envoyé une fois, pandoc s'exécute une fois, l'ICML revient, et aucun des deux fichiers n'est conservé ensuite.
Combien de temps prend une conversion DOCX vers ICML ?
Sur le fichier utilisé par la sonde, pandoc a mis 0,1 seconde et écrit 5 839 octets d'ICML. C'est une mesure réelle sur un fichier DOCX réel, pas une moyenne et pas une promesse sur le vôtre : un DOCX 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 DOCX à l'ICML ?
Celle qu'il faut connaître en premier : la couche de présentation. pandoc ne traduit pas le fichier DOCX en ICML, il le reconstruit depuis son propre arbre de document : les styles personnalisés, la mise en page, les en-têtes et les pieds de page ne traversent pas. La structure, si, et c'est de cela que l'arbre est fait.
Les tableaux de mon fichier DOCX sont-ils encore des tableaux dans l'ICML ?
Oui. pandoc lit les tableaux du DOCX dans son propre arbre de document et les réécrit en syntaxe ICML, si bien que vous obtenez un tableau qu'une machine sait analyser plutôt qu'une image de tableau.
La conversion DOCX vers ICML est-elle gratuite ?
Il y a une franchise gratuite chaque mois, et une conversion DOCX vers ICML 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 ICML moins bon.