FAQ PHPConsultez toutes les FAQ

Nombre d'auteurs : 68, nombre de questions : 580, dernière mise à jour : 29 juillet 2013 

 
OuvrirSommaireBibliothèques, extensionsXMLOpenXML (Microsoft Office)Les PartsLes types de contenu (ContentTypes)

Voici comment créer un fichier Part pour un document Word (deux types par défaut + 1 type surchargé) :

 
Sélectionnez
<?php

$dom = new DOMDocument();

$XMLTypes = $dom->createElement('Types');
$XMLTypes->setAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/content-types');
$dom->appendChild($XMLTypes);

$XMLType = $dom->createElement('Default');
$XMLType->setAttribute('Extension', 'rels');
$XMLType->setAttribute('ContentType', 'application/vnd.openxmlformats-package.relationships+xml');
$XMLTypes->appendChild($XMLType);

$XMLType = $dom->createElement('Default');
$XMLType->setAttribute('Extension', 'xml');
$XMLType->setAttribute('ContentType', 'application/xml');
$XMLTypes->appendChild($XMLType);

$XMLType = $dom->createElement('Override');
$XMLType->setAttribute('PartName', '/word/document.xml');
$XMLType->setAttribute('ContentType', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml');
$XMLTypes->appendChild($XMLType);

$dom->save('[Content_Types].xml');

?>
Créé le 2 juillet 2007  par Guillaume Rossolini

Lien : Comment ajouter une Part à un document OpenXML ?

La Part des types de contenu définit les types MIME de toutes les Parts de l'archive. Elle contient au moins quelques types par défaut, ainsi éventuellement que des types surchargés.

Un type par défaut est composé au minimum de :
  • "Extension" est l'extension du fichier, par exemple "xml", "png" ou "rels" ;
  • "ContentType" est le type MIME du fichier, par exemple "application/xml", 'image/png" ou "application/vnd.openxmlformats-package.relationships+xml".
 
Sélectionnez
$XMLType = $dom->createElement('Default');
$XMLType->setAttribute('Extension', 'xml');
$XMLType->setAttribute('ContentType', 'application/xml');
$XMLTypes->appendChild($XMLType);
Créé le 2 juillet 2007  par Guillaume Rossolini

Tous les fichiers d'une archive OpenXML n'ont pas toujours un type qui correspond à leur extension. Par exemple, la Part principale a généralement un type différent de "application/xml" malgré son extension "xml".

OpenXML prévoir la surcharge au cas par cas avec les Overrides. Il s'agit d'un élément Override dans le fichier [Content_Types].xml et contenant deux attributs PartName et ContentType.

Une surcharge 'Override' se définit par :
  • PartName : La Part concernée par la surcharge de type, par exemple "/word/document.xml" ;
  • ContentType : Le nouveau type de la Part définie ci-dessus, par exemple "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml".
 
Sélectionnez
$XMLType = $dom->createElement('Override');
$XMLType->setAttribute('PartName', '/word/document.xml');
$XMLType->setAttribute('ContentType', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml');
$XMLTypes->appendChild($XMLType);
Créé le 2 juillet 2007  par Guillaume Rossolini
Voici une liste non exhaustive des types de contenu possibles selon l'extension du document :
  • docm : application/vnd.ms-word.document.macroEnabled.12
  • docx : application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • dotm : application/vnd.ms-word.template.macroEnabled.12
  • dotx : application/vnd.openxmlformats-officedocument.wordprocessingml.template
  • ppsm : application/vnd.ms-powerpoint.slideshow.macroEnabled.12
  • ppsx : application/vnd.openxmlformats-officedocument.presentationml.slideshow
  • pptm : application/vnd.ms-powerpoint.presentation.macroEnabled.12
  • pptx : application/vnd.openxmlformats-officedocument.presentationml.presentation
  • xlsb : application/vnd.ms-excel.sheet.binary.macroEnabled.12
  • xlsm : application/vnd.ms-excel.sheet.macroEnabled.12
  • xlsx : application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • xps : application/vnd.ms-xpsdocument

Pour les images et autres documents dont le type MIME a été défini avant l'arrivée d'OpenXML, utilisez leur type MIME habituel.

Créé le 3 juillet 2007  par Guillaume Rossolini

Lien : Liste des types MIME par Cédric Chatelain

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2003 Developpez.com Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.