Partager via


Utilisation des masques du document

Cette rubrique décrit la classe du Kit de développement logiciel (SDK) Open XML pour Office HandoutMaster et sa relation avec le schéma PresentationML au format de fichier Open XML. Pour plus d’informations sur la structure globale des composants et éléments qui composent un document PresentationML, consultez Structure d’un document PresentationML.

Masques du document en PresentationML

La spécification ISO/IEC 29500 décrit l’élément PresentationML <handoutMaster/> Open XML utilisé pour représenter un document master diapositive dans un document PresentationML comme suit :

Cet élément spécifie une instance d’un masque du document. Un masque du document contient tous les éléments qui décrivent les objets et leur mise en forme correspondante au sein d’une diapositive de document. Dans un masque du document, l’élément cSld spécifie les éléments de diapositive communs, par exemple les formes et leurs corps de texte associés. Il existe d’autres propriétés dans un masque du document, mais l’élément cSld regroupe la majorité des objectifs d’une diapositive basée sur l’élément handoutMaster correspondant.

© ISO/IEC 29500 : 2016

Le tableau suivant répertorie les éléments enfants de l’élément utilisé lors de l’utilisation <handoutMaster/> des diapositives master documents 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
<ClrMap/> ColorMap
<cSld/> CommonSlideData
<extLst/> ExtensionListWithModification
<hf/> HeaderFooter

Open XML SDK HandoutMaster, classe

La classe du Kit de développement logiciel (SDK) HandoutMaster Open XML représente l’élément <handoutMaster/> défini dans le schéma de format de fichier Open XML pour les documents PresentationML. Utilisez la HandoutMaster classe pour manipuler des éléments individuels <handoutMaster/> dans un document PresentationML.

Les classes couramment associées à la HandoutMaster classe sont présentées dans les sections suivantes.

Classe ColorMap

La ColorMap classe correspond à l’élément <ClrMap/> . Les informations suivantes de la spécification ISO/IEC 29500 présentent l’élément <ClrMap/> :

Cet élément spécifie la couche de mappage qui transforme une définition du jeu de couleurs en une autre. Chaque attribut représente un nom de couleur qui peut être référencé dans ce masque ; par ailleurs, la valeur représente la couleur correspondante dans le thème.

Exemple : Considérez le mappage de couleurs suivant qui s’applique à une diapositive master :

<p:clrMap bg1="dk1" tx1="lt1" bg2="dk2" tx2="lt2" accent1="accent1"  
accent2="accent2" accent3="accent3" accent4="accent4"
accent5="accent5"  
accent6="accent6" hlink="hlink" folHlink="folHlink"/>

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

ISO/IEC 29500

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é.

Utilisation de la classe HandoutMaster

Comme indiqué dans l’exemple de code du Kit de développement logiciel (SDK) Open XML qui suit, chaque instance de la HandoutMaster classe est associée à un instance de la HandoutMasterPart classe, qui représente un document master partie, l’une des parties d’un package de fichier de présentation PresentationML et une partie requise pour un fichier de présentation contenant des documents.

La HandoutMaster classe, qui représente l’élément <handoutMaster/> , est donc également associée à une série d’autres classes qui représentent les éléments enfants de l’élément <handoutMaster/> . Parmi ces classes, comme indiqué dans l’exemple de code suivant, se trouvent la CommonSlideData classe, la ColorMap classe, la ShapeTree classe et la Shape classe .

Exemple de code du Kit de développement logiciel (SDK) Open XML

La méthode suivante ajoute un nouveau document master partie à une présentation existante et crée un instance d’une classe du Kit de développement logiciel (SDK) HandoutMaster Open XML dans le nouveau document master partie. Le HandoutMaster constructeur de classe crée des instances de la CommonSlideData classe et de la ColorMap 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 HandoutMasterPart CreateHandoutMasterPart(PresentationPart presentationPart)
{
    HandoutMasterPart handoutMasterPart1 = presentationPart.AddNewPart<HandoutMasterPart>();
    handoutMasterPart1.HandoutMaster = new HandoutMaster(
                    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 = "Title 1" },
                                    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() { Language = "en-US" }))))),
                            new P.ColorMap()
                            {
                                Background1 = D.ColorSchemeIndexValues.Light1,
                                Text1 = D.ColorSchemeIndexValues.Dark1,
                                Background2 = D.ColorSchemeIndexValues.Light2,
                                Text2 = D.ColorSchemeIndexValues.Dark2,
                                Accent1 = D.ColorSchemeIndexValues.Accent1,
                                Accent2 = D.ColorSchemeIndexValues.Accent2,
                                Accent3 = D.ColorSchemeIndexValues.Accent3,
                                Accent4 = D.ColorSchemeIndexValues.Accent4,
                                Accent5 = D.ColorSchemeIndexValues.Accent5,
                                Accent6 = D.ColorSchemeIndexValues.Accent6,
                                Hyperlink = D.ColorSchemeIndexValues.Hyperlink,
                                FollowedHyperlink = D.ColorSchemeIndexValues.FollowedHyperlink
                            });

    return handoutMasterPart1;
}