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 Open XML PresentationML <handoutMaster> 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/IEC29500: 2008.

Le tableau suivant répertorie les éléments enfants de l’élément <handoutMaster> utilisé lors de l’utilisation d’un document master 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
<clrMap> Colormap
<cSld> Commonslidedata
<extLst> Extensionlistwithmodification
<Hf> HeaderFooter

Open XML SDK HandoutMaster, classe

La classe HandoutMaster du Kit de développement logiciel (SDK) 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 classe HandoutMaster pour manipuler des éléments handoutMaster> individuels <dans un document PresentationML.

Les classes communément associées à la classe HandoutMaster sont indiquées dans les sections suivantes.

Classe ColorMap

La classe ColorMap 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 classe CommonSlideData 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 cSld> de <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 classe ExtensionListWithModification correspond à l’élément <extLst>. Les informations suivantes de la spécification ISO/IEC 29500 introduisent l’élément <extLst> :

Cet élément spécifie la liste d’extensions avec possibilité de modification dans laquelle toutes les extensions futures de type <d’élément ext> 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 classe HeaderFooter 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 classe HandoutMaster est associée à un instance de la classe HandoutMasterPart, 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 classe HandoutMaster , 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, citons la classe CommonSlideData , la classe ColorMap , la classe ShapeTree et la classe Shape .

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 classeHandoutMaster du Kit de développement logiciel (SDK) Open XML dans le nouveau document master partie. Le constructeur de la classe HandoutMaster crée des instances de la classe CommonSlideData et de la classe ColorMap. Le constructeur de classe CommonSlideData crée un instance de la classe ShapeTree, dont le constructeur crée à son tour des instances de classe supplémentaires : un instance de la classe NonVisualGroupShapeProperties, un instance de la classe GroupShapeProperties et un instance de la classe Shape.

L’espace de noms représenté par la lettre P dans le code est l’espace de noms DocumentFormat.OpenXml.Presentation .

using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Drawing;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Presentation;
using D = DocumentFormat.OpenXml.Drawing;
using P = DocumentFormat.OpenXml.Presentation;

static HandoutMasterPart CreateHandoutMasterPart(PresentationPart presentationPart)
{
    HandoutMasterPart handoutMasterPart1 = presentationPart.AddNewPart<HandoutMasterPart>("rId3");
    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;
}