Comment décoder du Base64 en document Word
- Collez le Base64 dans Base64 ou data URI, avec ou sans le préfixe
data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,. Les longues chaînes peuvent venir d’un fichier texte via Ouvrir un fichier .txt. - Sous les informations du fichier, Texte du document montre ce que dit le document : une ligne par paragraphe, tabulations et sauts de ligne manuels conservés.
- Sous le texte, la liste des entrées montre les parties qui composent le .docx, avec Voir et Enregistrer pour chacune.
- Appuyez sur Télécharger le fichier pour enregistrer le .docx.
L’aperçu lit word/document.xml avec le parseur XML de votre navigateur. Rien n’est rendu comme une page web, rien n’est exécuté et le fichier n’est envoyé nulle part : la Content Security Policy de la page bloque toutes les requêtes réseau hormis le comptage des pages vues de Cloudflare.
Ce que contient l’aperçu du texte
Un DOCX est une archive ZIP de fichiers XML. L’aperçu prend le texte du corps principal et laisse le reste de la structure de côté ; mieux vaut donc savoir ce qui se retrouve où :
| Dans le document | Dans l’aperçu |
|---|---|
| Paragraphes et titres du corps | Une ligne chacun, dans l’ordre du document |
| Tableaux | Les paragraphes de chaque cellule sur leurs propres lignes, ligne par ligne |
| Modifications suivies | Affichées comme acceptées : le texte inséré apparaît, le texte supprimé non |
| Champs comme les numéros de page ou les dates | Le dernier résultat calculé ; le code du champ est masqué |
| Zones de texte et formes | Leur texte, parfois répété (voir la FAQ) |
| En-têtes, pieds de page, notes de bas de page, commentaires | Absents du volet texte ; ouvrez l’entrée correspondante avec Voir |
| Mise en forme, images, mise en page | Non affichées |
Un document qui ne contient que des images ou des pages numérisées produit « Aucun texte trouvé dans ce document. »
Extraire les images et les autres parties
Comme le fichier est une archive ZIP, chaque partie est accessible séparément. Les images se trouvent dans word/media/ sous les noms image1.png, image2.jpeg, etc. : Voir affiche l’image, Enregistrer la télécharge sous son propre nom. C’est un moyen rapide de récupérer un logo ou une image de signature dans un document généré sans ouvrir Word. Les propriétés du document dans docProps/core.xml indiquent l’auteur, le titre et les dates enregistrées par le programme qui a sauvegardé le fichier.
La page Base64 en ZIP détaille la liste des entrées, ses limites et les vérifications de l’archive.
DOCX, DOC ou autre chose
Le début du Base64 vous dit quel type de fichier vous avez :
| Le Base64 commence par | Fichier | Ce que fait l’outil |
|---|---|---|
UEsDBBQABgAI | DOCX enregistré par Microsoft Word | Aperçu du texte et liste des entrées |
UEsDB suivi d’autres caractères | DOCX d’un autre logiciel (LibreOffice écrit UEsDBBQACAgI), ou un autre fichier basé sur ZIP | Cherche des entrées word/ pour trancher |
0M8R4KGxGuE | Ancien .doc (Word 97–2003), ou .docx protégé par mot de passe | Affiche « Cela ne ressemble pas à un fichier DOCX » avec le type DOC/XLS/MSG (OLE) |
e1xydGYx | RTF ({\rtf1) | Indique que cela ressemble à du RTF et propose Télécharger en .rtf |
JVBERi0 | Indique que cela ressemble à du PDF et propose Télécharger en .pdf |
Le cas OLE demande une étape manuelle. L’outil ne peut pas distinguer un .doc d’un .docx chiffré : Extension reste donc sur docx. Pour un ancien fichier Word, saisissez doc dans ce champ avant d’appuyer sur Télécharger le fichier ; pour un document protégé par mot de passe, gardez docx et ouvrez-le dans Word avec le mot de passe. Aucun des deux n’a d’aperçu du texte.
D’où viennent les documents Word en Base64
Les services de génération de documents et de modèles remplissent un .docx et le renvoient dans une réponse JSON. Les systèmes de messagerie transportent les pièces jointes Word sous forme de parties MIME en Base64 ; le décodeur EML ouvre un message entier et liste ses pièces jointes. Les exports de CRM et d’outils de tickets stockent souvent les pièces jointes en texte Base64 à côté de l’enregistrement. Pour produire une telle chaîne à partir d’un fichier, utilisez Word en Base64.
Décoder un DOCX et lire son texte en Python
La bibliothèque standard suffit pour enregistrer le fichier et afficher ses paragraphes, à peu près comme le fait l’aperçu :
import base64, io, zipfile
import xml.etree.ElementTree as ET
W = "{http://schemas.openxmlformats.org/wordprocessingml/2006/main}"
with open("memo.b64") as f:
docx = base64.b64decode(f.read())
with open("memo.docx", "wb") as f:
f.write(docx)
with zipfile.ZipFile(io.BytesIO(docx)) as z:
body = ET.fromstring(z.read("word/document.xml"))
for p in body.iter(W + "p"):
print("".join(t.text or "" for t in p.iter(W + "t")))
Comme l’aperçu, ce code ne lit que le corps principal. Pour les en-têtes, lisez word/header1.xml de la même façon. Voir Base64 en Python pour décoder de gros fichiers par morceaux.
FAQ
Comment convertir du Base64 en document Word ?
Collez la chaîne ci-dessus et appuyez sur Télécharger le fichier ; le résultat est enregistré sous decoded.docx, ou sous le nom indiqué par la data URI. Vous pouvez d’abord le renommer dans Nom du fichier.
Puis-je modifier le document sur cette page ?
Non. La page affiche le texte pour que vous puissiez le lire, et le téléchargement est le fichier d’origine, octet pour octet. Modifiez-le dans Word, LibreOffice Writer ou tout autre programme qui ouvre les fichiers .docx.
Pourquoi le texte d'une zone de texte apparaît-il deux fois ?
Word enregistre chaque zone de texte sous deux formes, une moderne et une de secours pour les anciens lecteurs, et l’aperçu lit le texte des deux. Le document lui-même ne contient la zone qu’une fois.
Où sont les en-têtes, pieds de page et commentaires ?
Ils se trouvent dans des parties distinctes du fichier (word/header1.xml, word/footer1.xml, word/comments.xml). Appuyez sur Voir à côté de l’une d’elles dans la liste des entrées pour lire son XML ; le texte est dans les éléments <w:t>.