La chose qui surprend les gens à la conversion d'un document, c'est qu'il n'y a pas de page dans le fichier à convertir. Un .docx contient des paragraphes, des styles et une note sur le format du papier, et la page que vous voyez à l'écran est produite par Word faisant la mise en page au moment où vous l'ouvrez. Tout autre programme doit refaire cette mise en page, avec ses propres polices et son propre délimitation de ligne, c'est pourquoi deux convertisseurs donnent deux comptes de pages différents à partir d'un seul fichier. Comprendre qu'un fait explique chaque surprise dans la sortie, y compris celle où une suppression suivie, selon vous, était partie.
tl;dr : Un .docx est un zip de XML portant une structure réelle, de sorte que les titres, paragraphes et listes arrivent correctement plutôt que d'être déduits. Ce qui n'arrive pas, c'est le look : polices, colonnes, tableaux, tabulations, numérotation et espacement exact en direct dans les parties, un convertisseur doit implémenter un traitement de texte pour honorer. Mesuré sur une entrée réelle, les suppressions suivies sont supprimées de sorte qu'un document édité se lit à mesure que sa formulation finale, une liste numérotée revient à puces, une table devient ses cellules dans l'ordre de lecture et un onglet devient un espace. Les rendus de texte en Europe occidentale, cyrillique, grecque, CJK et emoji ne le font pas, car les polices PDF intégrées sont Winansi. le Convertisseur de mots en PDF Est-ce que la composition de votre navigateur.
Qu'y a-t-il à l'intérieur d'un .docx ?
Un zip de pièces XML, et l'un d'eux contient tout ce qui compte ici.
Ouvrez n'importe quel .docx avec un outil d'archive et vous trouverez word/document.xml Parallèlement à un manifeste, une partie de relations, et généralement des styles, des polices, des thèmes, des définitions de numérotation et des paramètres. Le format est ECMA-376, avec Microsoft Notes de mise en œuvre Couvrir ce que fait Word dessus.
La partie document est une séquence de <w:p> éléments. Chacun est un paragraphe, avec des propriétés facultatives indiquant le style qu'il utilise et s'il appartient à une liste, et à l'intérieur une série de passages portant le texte réel dans <w:t>.
C'est vraiment mieux que ce qu'un PDF propose. Dans un PDF, un paragraphe doit être déduit de l'écart vertical entre les lignes, où La conversion dans l'autre sens Perte de colonnes et de tableaux. Ici, un paragraphe est un paragraphe, car le fichier le dit, et un en-tête est un en-tête car le paragraphe nomme un style de titre.
Le catch est dans les parties qu'un convertisseur ne lit pas.
Pourquoi le résultat ne ressemble-t-il pas à Word ?
Parce que l'apparence est répartie sur des parties qui équivaut à un traitement de texte, et le convertisseur intègre le texte à la place.
Le texte est dans la partie document. La raison pour laquelle votre texte apparaît dans Calibri à 11 points avec un espacement de 1,08 ligne est styles.xml. La raison pour laquelle votre liste indique "1., 2., 3". plutôt que "A., B., C". numbering.xml. Le thème qui fournit la couleur de l'en-tête est à nouveau dans une autre partie, et les propriétés de section régissent les marges, les colonnes et la taille de la page par section.
Tout cela est de construire un moteur de mise en page avec la sémantique de Word. Ce que cet outil fait à la place, c'est lire la structure et la présenter proprement : Times Roman for Body Text, Times Roman Bold pour les titres, une marge de 56 points, un espacement de 1,4 ligne, dans la taille de la page que vous choisissez.
La sortie est donc un document lisible et correctement ordonné qui ne ressemble pas à l'original. C'est une véritable limitation et qui mérite d'être déclarée clairement plutôt qu'enterrée, car les personnes à la recherche de cette conversion se répartissent en deux groupes et un seul d'entre eux est servi. Si vous voulez que le texte soit un PDF que tout le monde peut ouvrir, c'est vrai. Si tu veux cette page, avec ses polices et son espacement, continuez à lire la section sur la propre exportation de Word.
Qu'est-ce qui survit à la conversion ?
Structure et ordre de lecture, de manière fiable. Voici la liste complète, mesurée par rapport au code plutôt qu'a supposé.
| élément | Résultat |
|---|---|
| paragraphes | conservé, dans l'ordre des documents |
| titres | Préservé, dimensionné par niveau, défini en gras |
| Éléments de liste | Texte conservé, marqueur remplacé par une puce |
| cellules de table | Conservé en tant que paragraphes séparés dans l'ordre de lecture |
| Suppressions suivies | A supprimé, comme Word les affiche |
| Onglets et sauts de ligne | devenir un seul espace |
| Audacieux, italique, couleur, police | non porté |
| Images | non porté |
| En-têtes, pieds de page, numéros de page | non porté |
| Notes de bas de page et notes de fin | non porté |
La moitié supérieure de ce tableau explique pourquoi cette conversion vaut encore la peine : rien dedans n'a dû être deviné. La moitié inférieure est le prix de ne pas mettre en œuvre Word.
Qu'arrive-t-il aux changements suivis ?
Les suppressions disparaissent, ce qui est correct, et le fait qu'il faut le dire est la partie intéressante.
Un document modifié avec le suivi des modifications conserve le texte supprimé dans le fichier, à l'intérieur <w:delText> dans un délai <w:del> élément. Word sait qu'il ne faut pas l'afficher comme texte actuel. Un convertisseur qui parcourt chaque nœud de texte ne le fait pas, à moins que quelqu'un y pense.
Mesuré sur un paragraphe qui lisait à l'origine "la date limite est le 31 mars et a été modifiée au 30 avril : :
with the rule: The deadline is 30 April.
without the rule: The deadline is 31 March30 April.
Chaque version de cette phrase, n'importe qui a tapé, n'a jamais été tapée entre eux. Sur un contrat ou une lettre d'offre, ce n'est pas un bogue cosmétique : il publie l'historique des négociations du document à quiconque reçoit le PDF.
Cela vaut la peine de savoir pour lui-même, quel que soit l'outil que vous utilisez. Si vous envoyez un document converti vers l'extérieur, vérifiez qu'une date ou un chiffre que vous avez modifié s'affiche une fois au lieu de deux fois.
Qu'arrive-t-il à une liste numérotée ?
Il revient en puces, car les chiffres ne sont pas dans le paragraphe.
Un paragraphe de liste contient <w:numPr>, qui pointe vers une définition de numérotation dans une autre partie. Cette définition contient le format, la valeur de départ, les niveaux de retrait et si cette liste continue de procéder à une précédente. Le paragraphe lui-même contient le texte et rien d'autre.
Ainsi, un convertisseur qui ne lit que la partie document sait que le paragraphe est un élément de la liste et non le marqueur qu'il doit porter. Le rendu d'une puce est la valeur par défaut honnête :
• First point
• Second point
Ordinary paragraph
Cela compte lorsque les chiffres ont un sens. "Voir l'étape 4" dans une procédure, ou une clause numérotée dans un accord, perd sa référence. Si votre document dépend de sa numérotation, cette conversion est la mauvaise et la propre exportation de Word est la bonne.
Qu'arrive-t-il à une table ?
Les cellules survivent, pas la grille.
Une cellule de tableau contient <w:p> Des éléments comme n'importe quoi d'autre, de sorte que le texte arrive sous forme de paragraphes ordinaires dans l'ordre de lecture. Un tableau de régions et de figures à deux colonnes est présenté comme suit :
Region | Q2 | EMEA | 412
Quatre paragraphes, l'un après l'autre, sans rien enregistrant que les deux premiers étaient une ligne d'en-tête. Le fait de transporter la table à travers signifie transporter des largeurs de colonnes, une structure de ligne, des cellules fusionnées et des bordures, puis disposer une grille qui pagine, qui est un outil différent et beaucoup plus grand.
C'est le même commerce dans les deux sens. PDF à Word aplatit un tableau car le PDF n'en avait jamais eu, Word to PDF l'aplatit car la reconstruction est un moteur de mise en page. Les conseils honnêtes dans les deux cas : si la table est le point, capturez-le ou conservez l'original.
Pourquoi ma mise en page alignée sur des tabulations s'est-elle effondrée ?
Parce qu'un onglet est une instruction de position, et sans taquets de tabulation, il n'y a nulle part où l'envoyer.
<w:tab/> signifie "avancer à la tabulation suivante", et les arrêts sont définis dans les propriétés du paragraphe ou hérités de son style. Un convertisseur qui étend du texte avec ses propres marges n'a pas d'arrêt significatif vers lequel sauter, de sorte que l'onglet devient un espace unique. Idem pour <w:br/>:
input: Name <tab> Value <br> Next line
output: "Name Value Next line"
Quiconque a construit une liste de deux colonnes, un bloc de signature ou une simple table des matières avec des onglets perd entièrement l'alignement. C'est l'une des façons les plus courantes d'un document converti qui semble erronée, et il est invisible dans la source : le fichier ressemble à des paragraphes ordinaires, car c'est ce qu'il est.
Si l'alignement est important, une table réelle dans le document source ne convertit pas mieux, mais elle échoue au moins de manière plus évidente.
Quels caractères les polices PDF intégrées ne peuvent-elles pas afficher ?
Tout ce qui n'était pas en dehors de l'Europe occidentale, et l'échec était le silence sur le caractère qui était en faute.
La norme PDF définit quatorze polices de base que chaque lecteur possède, et elles sont codées avec Winansiencoding, un ensemble de 256 caractères documenté à l'annexe D de La spécification PDF. Les utiliser signifie qu'aucune police ne doit être intégrée, ce qui permet de réduire la production de petite taille, et cela signifie que l'alphabet est fixe.
testé avec pdf-lib, la bibliothèque qui fait le dessin :
| Texte | Résultat |
|---|---|
Quarterly report |
enthousiasme |
"Revenue" rose, he'd said Avec des citations frisées |
enthousiasme |
| Une phrase utilisant des tirets em, U+2014 | enthousiasme |
Chiffre d'affaires réalisé en Août |
enthousiasme |
Total: €1,249.50 |
enthousiasme |
Отчёт за квартал |
Échecs : WinAnsi cannot encode "О" (0x041e) |
Αποτελέσματα |
Échecs : WinAnsi cannot encode "Α" (0x0391) |
季度报告 |
Échecs : WinAnsi cannot encode "季" (0x5b63) |
四半期報告 |
Échecs : WinAnsi cannot encode "四" (0x56db) |
Revenue up 🚀 |
Échecs : WinAnsi cannot encode "🚀" (0x1f680) |
Le français, l'allemand, l'espagnol, le portugais, l'italien et les langues nordiques sont très bien, tout comme le signe de l'euro, les citations bouclées et un tiret. Russe, grec, chinois, japonais, coréen, arabe, hébreu, hindi et tous les emoji ne le sont pas.
L'outil nomme désormais le caractère dans l'erreur plutôt que de dire que le document n'a pas pu être converti, car "supprimer ce caractère" est un conseil et "quelque chose s'est mal passé". Un document dans l'un de ces scripts nécessite un convertisseur qui intègre une police qui la recouvre, ce qui signifie un PDF plus grand et un outil différent.
Pourquoi un fichier .doc est-il refusé ?
Parce que .doc et .docx sont des formats différents qui partagent trois lettres.
Un .docx est un zip de XML, introduit en 2007. Un .doc est un fichier binaire composé dans une mise en page datant du début des années 90, avec le texte entrelacé entre les structures qu'un analyseur doit marcher. La lecture de l'une n'est pas une variation de lecture de l'autre, mais une implémentation distincte.
Ainsi, le convertisseur vérifie l'extension et le dit, plutôt que d'échouer sur un zip illisible :
| Fichier | Ce qu'il dit |
|---|---|
.doc |
C'est l'ancien format. Ouvrez-le et enregistrez-le d'abord sous .docx |
.rtf, .odt, .pages |
Pas un document Word. Exporter en tant que .docx |
.pdf |
Déjà un PDF, utilisez l'autre sens pour un fichier modifiable |
L'ouverture d'un .doc dans Word, LibreOffice ou Google Docs et l'enregistrement en tant que .docx prend quelques secondes et est une conversion. Ces programmes fonctionnent bien.
Comment sont dimensionnées les titres et jusqu'où s'étendent-ils ?
Par niveau, gras, avec tout au-delà du troisième niveau traité comme le troisième.
Le nom du style est lu à partir du paragraphe et normalisé, car les deux orthographes existent dans la nature. Word écrit Heading1. Écriture de plusieurs générateurs de documents heading 1. Les deux se résolvent au même niveau, et Title est traitée comme un niveau un.
| Style dans le fichier | Niveau utilisé |
|---|---|
Title, Heading1, heading 1 |
1 |
Heading2 |
2 |
Heading3 |
3 |
Heading4 par Heading9 |
3 |
ListParagraph, BodyText, autre chose |
corps du texte |
Trois niveaux visuels sont un point d'arrêt délibéré. Un quatrième niveau distingué du troisième nécessite soit une autre étape de taille, qui commence à entrer en collision avec le texte du corps, soit un poids ou un changement de style que les polices de base ne fournissent pas.
Combien de pages le PDF sera-t-il ?
Pas le mot de nombre que vous a montré, et la différence n'est pas un bug.
Le saut de ligne dépend de la police, de sorte que le même paragraphe dans Times Roman à 12 points occupe un nombre différent de lignes de celui qu'il a fait dans Calibri à 11. Les marges diffèrent. L'espacement des lignes diffère. Tout ce qui décide de la fin de la ligne a changé, donc la pagination change avec elle.
Dans une course mesurée, un document d'une rubrique et de dix paragraphes d'une quarantaine de mots chacun étant présentés en deux pages A4 : 39 lignes sur la première et 2 sur la seconde, avec la rubrique définie en gras de 20,4 points contre le texte du corps de 12 points.
La conséquence pratique est que les références de page se brisent. "comme décrit à la page 7" dans un document converti peut désormais être la page 6 ou la page 8. Un document qui fait référence à ses propres pages doit être exporté de Word, où la mise en page est celle contre laquelle les références ont été écrites.
Quand utiliser la propre exportation de Word à la place ?
Chaque fois que l'apparence ou la pagination fait partie du contenu. C'est une liste plus courte qu'il n'y paraît, mais les éléments qui s'y trouvent sont importants.
| Utilisez l'exportation de Word | Utiliser un convertisseur |
|---|---|
| Un document conçu : en-tête, CV, rapport avec image de marque | Un document en texte brut dont vous avez besoin en PDF |
| Tout ce qui contient des tableaux, des images, des en-têtes ou des pieds de page | Notes, un article, un brouillon, une transcription |
| Clauses numérotées ou pages croisées | Tout document où la lecture de la commande est tout ce dont vous avez besoin |
| Un document dans un script non latin | Un document que vous préférez ne pas télécharger n'importe où |
Le fichier Word, Enregistrer sous, PDF est une véritable exportation : le même moteur de mise en page qui a dessiné la page écrit le PDF, donc ce que vous voyez est ce que vous obtenez. Rien dans un navigateur ne correspond à cela, car rien dans un navigateur n'a le moteur de mise en page de Word.
Le cas pour la conversion est la dernière ligne de cette table, en plus de ne pas avoir de mots sous la main.
Pourquoi cela s'exécute-t-il dans le navigateur ?
Parce que les documents sont les fichiers les plus personnels convertis, et cette conversion n'a pas besoin d'un serveur.
La lecture d'un zip, l'analyse du texte XML et le dessin de texte sont autant de choses qu'un navigateur fait en natif. Le fichier est lu de votre disque dans l'onglet, décompressé, disposé là-bas, écrit dans un PDF et renvoyé en téléchargement. Aucune demande ne porte le document et aucune copie n'est laissée nulle part.
Les documents en question sont les contrats, les CV, les lettres médicales, les brouillons légaux et les mémoires. L'alternative conventionnelle les télécharge dans un service, les convertit sur une machine dont vous ne savez rien et les conserve pendant une certaine période décrites dans une politique que personne ne lit.
Les limites sont honnêtes : texte d'Europe occidentale uniquement, aucune image, aucune mise en forme au-delà des en-têtes et des balles. Ils sont visibles avant de commencer plutôt que de les découvrir par la suite, ce qui vaut la peine d'être pris lorsque l'alternative est un PDF plus agréable d'un document que vous ne contrôlez plus.



