Utilisation des mises en page de diapositive
Cette rubrique décrit la classe du Kit de développement logiciel (SDK) Open XML pour Office SlideLayout et sa relation avec le schéma PresentationML au format de fichier Open XML.
Mises en page de diapositive dans PresentationML
La spécification ISO/IEC 29500 décrit l’élément PresentationML <sldLayout/>
Open XML utilisé pour représenter les mises en page des diapositives dans un document PresentationML comme suit :
Cet élément spécifie une instance de mise en page de diapositive. La mise en page de diapositive contient par essence une conception de diapositive modèle applicable à toute diapositive existante. Lorsqu’elle est appliquée à une diapositive existante, tout le contenu correspondant est mappé à cette nouvelle mise en page.
L’élément <sldLayout/>
est l’élément racine du composant PresentationML Slide Layout. Pour plus d’informations sur la structure complète des composants et des éléments qui constituent un document PresentationML, voir Structure d’un document PresentationML.
Le tableau suivant répertorie les éléments enfants de l’élément utilisé lors de l’utilisation <sldLayout/>
de mises en page de diapositives et des classes du Kit de développement logiciel (SDK) Open XML qui leur correspondent.
Élément PresentationML | Classe du Kit de développement logiciel (SDK) Open XML |
---|---|
<clrMapOvr/> |
ColorMapOverride |
<cSld/> |
CommonSlideData |
<extLst/> |
ExtensionListWithModification |
<hf/> |
HeaderFooter |
<timing/> |
Timing |
<transition/> |
Transition |
Le tableau suivant de la spécification ISO/IEC 29500 décrit les attributs de l'élément <sldLayout/>
correspondant.
Attributs | Description |
---|---|
matchingName (nom correspondant) | Spécifie un nom à utiliser au lieu de l’attribut name de l’élément cSld . Il sert à la correspondance de mise en page en réponse aux modifications de mise en page et aux applications de modèle. Les valeurs possibles pour cet attribut sont définies par le type de données schéma string XML W3C. |
preserve (conserver la mise en page de diapositive) | Spécifie si la mise en page des diapositives correspondante est supprimée lorsque toutes les diapositives basées sur cette mise en page sont supprimées. Si cet attribut n’est pas spécifié, une valeur de false doit être prise en charge par l’application de génération. Cela signifie que la diapositive est supprimée, si elle n’a aucun lien avec d’autres diapositives de la présentation.Les valeurs possibles pour cet attribut sont définies par le type de données schéma boolean XML W3C. |
showMasterPhAnim (afficher les animations d’espace réservé du masque) | Spécifie si des animations doivent être affichées ou non sur des espaces réservés de la diapositive principale. Les valeurs possibles pour cet attribut sont définies par le type de données schéma boolean XML W3C. |
showMasterSp (afficher les formes principales) | Spécifie si les formes figurant sur la diapositive principale doivent être affichées ou non sur les diapositives. Les valeurs possibles pour cet attribut sont définies par le type de données schéma boolean XML W3C. |
type (type de mise en page de diapositive) | Spécifie le type de mise en page utilisé par cette diapositive. Les valeurs possibles de cet attribut sont définies par le type simple ST_SlideLayoutType (§19.7.15). |
userDrawn (est dessiné par l’utilisateur) | Spécifie si l’objet correspondant a été dessiné par l’utilisateur, auquel cas il ne doit pas être supprimé. Cela permet de marquer les diapositives ayant du contenu dessiné par l’utilisateur. Les valeurs possibles pour cet attribut sont définies par le type de données schéma boolean XML W3C. |
Classe SlideLayout du Kit de développement logiciel (SDK) Open XML
La classe du Kit de développement logiciel (SDK) SlideLayout
OXML représente l’élément <sldLayout/>
défini dans le schéma de format de fichier Open XML pour les documents PresentationML. Utilisez la SlideLayout
classe pour manipuler des éléments individuels <sldLayout/>
dans un document PresentationML.
Les classes qui représentent des éléments enfants de l’élément <sldLayout/>
et qui sont donc couramment associées à la SlideLayout
classe sont indiquées dans la liste suivante.
Classe ColorMapOverride
La ColorMapOverride
classe correspond à l’élément <clrMapOvr/>
. Les informations suivantes de la spécification ISO/IEC 29500 présentent l’élément <clrMapOvr/>
:
Cet élément fournit un mécanisme avec lequel remplacer les jeux de couleurs répertoriés dans l’élément <ClrMap/>
. Si l’élément <masterClrMapping/>
enfant est présent, le jeu de couleurs défini par le master est utilisé. Si l’élément <overrideClrMapping/>
enfant est présent, il définit un nouveau jeu de couleurs spécifique à la diapositive de notes parente, à la diapositive de présentation ou à la disposition des diapositives.
Classe CommonSlideData
La CommonSlideData
classe correspond à l’élément <cSld/>
. Les informations suivantes de la spécification ISO/IEC 29500 présentent l’élément <cSld/>
:
Cet élément spécifie un conteneur pour le type d’informations de diapositive relatif à l’ensemble des types de diapositives. Toutes les diapositives partagent un ensemble commun de propriétés indépendantes du type de diapositive ; la description de ces propriétés pour une diapositive particulière est stockée dans le conteneur de <cSld/>
la diapositive. Les données de diapositive spécifiques au type de diapositive indiqué par l’élément parent sont stockées ailleurs.
Les données réelles dans <cSld/>
décrivent uniquement la diapositive parente particulière ; il s’agit uniquement du type d’informations stockées qui est commun à toutes les diapositives.
Classe ExtensionListWithModification
La ExtensionListWithModification
classe correspond à l’élément <extLst/>
. Les informations suivantes de la
la spécification introduit l’élément <extLst/>
:
Cet élément spécifie la liste d’extensions avec une capacité de modification dans laquelle toutes les extensions futures de type <ext/>
d’élément sont définies.
La liste des extensions et les extensions futures correspondantes sont utilisées pour étendre les possibilités de stockage de l’infrastructure PresentationML. Ceci permet à différents nouveaux types de données d’être stockés en mode natif dans l’infrastructure.
Remarque
L’utilisation de cet élément extLst permet à l’application de génération de stocker si cette propriété d’extension a été modifiée.
Classe HeaderFooter
La HeaderFooter
classe correspond à l’élément <hf/>
. Les informations suivantes de la spécification ISO/IEC 29500 présentent l’élément <hf/>
:
Cet élément spécifie les informations d’en-tête et de pied de page d’une diapositive. Les en-têtes et les pieds de page contiennent des espaces réservés au texte dont la cohérence doit être assurée dans l’ensemble des diapositives et types de diapositives, par exemple une date et heure, un numéro de diapositive, ainsi que du texte d’en-tête et de pied de page personnalisé.
Classe Timing
La Timing
classe correspond à l’élément <timing/>
. Les informations suivantes de la spécification ISO/IEC 29500 présentent l’élément <timing/>
:
Cet élément spécifie les informations de minutage pour la gestion de l’ensemble des animations et des événements minutés dans la diapositive correspondante. Ces informations sont suivies par le biais de nœuds de temps au sein de l’élément <timing/>
.
Pour plus d’informations sur les spécificités relatives aux nœuds de temps et sur leur définition, voir la section de l’animation de l’infrastructure PresentationML.
Classe Transition
La Transition
classe correspond à l’élément <transition/>
. Les informations suivantes de la spécification ISO/IEC 29500 présentent l’élément <transition/>
:
Cet élément spécifie le type de transition à utiliser entre la diapositive actuelle et la diapositive précédente. En d’autres termes, les informations de transition sont stockées dans la diapositive qui s’affiche à l’issue de la transition.
Utilisation de la classe SlideLayout
Comme indiqué dans l’exemple de code du Kit de développement logiciel (SDK) Open XML qui suit, chaque instance de la SlideLayout
classe est associée à un instance de la SlideLayoutPart classe, qui représente une partie de disposition des diapositives, l’une des parties requises d’un package de fichier de présentation PresentationML. Chaque SlideLayout
classe instance doit également être associée à des instances des SlideMaster classes et Slide , qui sont à leur tour associées à des parties de présentation requises de même nom, représentées par les SlideMasterPart classes et SlidePart .
La SlideLayout
classe, qui représente l’élément <sldLayout/>
, est donc également associée à une série d’autres classes qui représentent les éléments enfants de l’élément <sldLayout/>
. Parmi ces classes, comme indiqué dans l’exemple de code suivant, se trouvent la CommonSlideData
classe, la ColorMapOverride
classe, la ShapeTree classe et la Shape classe .
Exemple de code du Kit de développement logiciel (SDK) Open XML
La méthode suivante de l’article Guide pratique pour créer un document de présentation en fournissant un nom de fichier ajoute un nouveau composant de mise en page de diapositive à une présentation existante et crée un instance d’une classe du Kit de développement logiciel (SDK) SlideLayout
Open XML dans le nouveau composant De disposition des diapositives. Le SlideLayout
constructeur de classe crée des instances de la CommonSlideData
classe et de la ColorMapOverride
classe . Le CommonSlideData
constructeur de classe crée un instance de la classe, dont le ShapeTree constructeur crée à son tour des instances de classe supplémentaires : un instance de la NonVisualGroupShapeProperties classe, un instance de la GroupShapeProperties classe et un instance de la Shape classe.
L’espace de noms représenté par la lettre P dans le code est l’espace de noms .
static SlideLayoutPart CreateSlideLayoutPart(SlidePart slidePart1)
{
SlideLayoutPart slideLayoutPart1 = slidePart1.AddNewPart<SlideLayoutPart>("rId1");
SlideLayout slideLayout = new SlideLayout(
new CommonSlideData(new ShapeTree(
new P.NonVisualGroupShapeProperties(
new P.NonVisualDrawingProperties() { Id = (UInt32Value)1U, Name = "" },
new P.NonVisualGroupShapeDrawingProperties(),
new ApplicationNonVisualDrawingProperties()),
new GroupShapeProperties(new TransformGroup()),
new P.Shape(
new P.NonVisualShapeProperties(
new P.NonVisualDrawingProperties() { Id = (UInt32Value)2U, Name = "" },
new P.NonVisualShapeDrawingProperties(new ShapeLocks() { NoGrouping = true }),
new ApplicationNonVisualDrawingProperties(new PlaceholderShape())),
new P.ShapeProperties(),
new P.TextBody(
new BodyProperties(),
new ListStyle(),
new Paragraph(new EndParagraphRunProperties()))))),
new ColorMapOverride(new MasterColorMapping()));
slideLayoutPart1.SlideLayout = slideLayout;
return slideLayoutPart1;
}
PresentationML généré
Lorsque le code du Kit de développement logiciel (SDK) Open XML est exécuté, le code XML suivant est écrit dans le fichier de document PresentationML référencé dans le code.
<?xml version="1.0" encoding="utf-8"?>
<p:sldLayout xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">
<p:cSld>
<p:spTree>
<p:nvGrpSpPr>
<p:cNvPr id="1"
name="" />
<p:cNvGrpSpPr />
<p:nvPr />
</p:nvGrpSpPr>
<p:grpSpPr>
<a:xfrm xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" />
</p:grpSpPr>
<p:sp>
<p:nvSpPr>
<p:cNvPr id="2"
name="" />
<p:cNvSpPr>
<a:spLocks noGrp="1"
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" />
</p:cNvSpPr>
<p:nvPr>
<p:ph />
</p:nvPr>
</p:nvSpPr>
<p:spPr />
<p:txBody>
<a:bodyPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" />
<a:lstStyle xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" />
<a:p xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
<a:endParaRPr />
</a:p>
</p:txBody>
</p:sp>
</p:spTree>
</p:cSld>
<p:clrMapOvr>
<a:masterClrMapping xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" />
</p:clrMapOvr>
</p:sldLayout>
Voir aussi
À propos du Kit de développement logiciel (SDK) Open XML pour Office
Procédure : créer une présentation en fournissant un nom de fichier