Introduction
L'extension de fichier .DOCX permet d'indiquer un fichier de format Word 2007 ou supérieur de l'entreprise Microsoft. Le format .DOCX contient le contenu d'un document de traitement de texte. Contrairement aux formats .DOC, il est beaucoup plus facile à lire, ainsi, on peut renommer un fichier .DOCX en fichier .ZIP et extraire sont contenu à l'aide de 7-Zip ou PeaZip et consulter les fichiers de format XML qu'il contient.
Spécification
Spécification | Description |
---|---|
Type | ZIP/XML |
Méthode de compression | ZIP |
Auteur | Microsoft |
Plateforme | Windows, Mac OS X |
Liste des fichiers de l'archive
En générale, le document contiendra les fichiers suivants :
Nom | Description |
---|---|
[Content_Types].xml | Ce fichier contient les informations sur les types de contenu. |
_rels/.rels | Ce fichier contient les relations. |
word/_rels/document.xml.rels | Ce fichier contient les relations avec le document. |
word/document.xml | Ce fichier contient le texte document. C'est en quelque sorte le coeur du document. |
word/header1.xml | Ce fichier contient l'entête de la page 1 du document. |
word/header2.xml | Ce fichier contient l'entête de la page 2 du document. |
word/header3.xml | Ce fichier contient l'entête de la page 3 du document. |
word/header?.xml | Ce fichier contient l'entête de la page ? du document. |
word/footer1.xml | Ce fichier contient le pied de page de la page 1 du document. |
word/footer2.xml | Ce fichier contient le pied de page de la page 2 du document. |
word/footer3.xml | Ce fichier contient le pied de page de la page 3 du document. |
word/footer?.xml | Ce fichier contient le pied de page de la page ? du document. |
word/endnotes.xml | Ce fichier contient les notes de bas de page du document. |
word/footnotes.xml | Ce fichier contient les notes de haut de page du document. |
word/theme/theme1.xml | Ce fichier contient le gabarit ou le thème du document. |
word/settings.xml | Ce fichier contient les configurations particulières du document. |
word/_rels/settings.xml.rels | Ce fichier contient les configurations des relations du document. |
word/webSettings.xml | Ce fichier contient les configurations Web du document. |
word/styles.xml | Ce fichier contient les feuilles de style du document. |
word/numbering.xml | Ce fichier contient la numérotation du document. |
docProps/core.xml | Ce fichier contient les propriétés du coeur du document. |
word/fontTable.xml | Ce fichier contient la table des polices de caractères. |
docProps/app.xml | Ce fichier contient les applications associés au document. |
Programmation
Sachant qu'il s'agit d'un fichier ZIP et que le texte est contenu dans un fichier sous le nom de «word/document.xml», on peut extraire son contenu avec une simple fonction de lanage de programmation PHP comme ceci :
- <?php
- if(!function_exists('zip_open')) {
- echo 'Vous devez installer le module php-zip !';
- exit();
- }
-
- function DocxWordToText($filename) {
- $content = '';
-
- $zip = zip_open($filename);
-
- if (!$zip || is_numeric($zip)) return false;
-
- while ($zip_entry = zip_read($zip)) {
- if(FALSE == zip_entry_open($zip, $zip_entry)) continue;
- if('word/document.xml' != zip_entry_name($zip_entry)) continue;
- $content .= zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
- zip_entry_close($zip_entry);
- }
-
- zip_close($zip);
- // Ajouter des filtres ici pour enlever les balises non pertinentes...
- $content = str_replace('</w:r></w:p></w:tc><w:tc>', " ", $content);
- $content = str_replace('</w:r></w:p>', " ", $content);
- $content = str_replace('</w:t></w:r>', " ", $content);
- $content = strip_tags($content);
-
- return $content;
- }
-
- echo DocxWordToText('gladir.docx');
- ?>
Voir également
Logiciel - Microsoft Word 2007 - Présentation du logiciel
Logiciel - Microsoft Word 2010 - Présentation du logiciel