Partager via


Utilisation des diapositives de notes

Cette rubrique décrit la classe Open XML SDK pour Office NotesSlide et sa relation avec le schéma PresentationML au format de fichier Open XML.


Diapositives de notes dans PresentationML

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

Cet élément spécifie l’existence d’une diapositive de notes avec ses données correspondantes. Une diapositive de notes contient tous les éléments courants de diapositive, ainsi que des propriétés supplémentaires qui sont spécifiques à l’élément notes.

Exemple : Considérez la diapositive de notes PresentationML suivante :

<p:notes>  
    <p:cSld>  
        …  
    </p:cSld>  
    …  
</p:notes>

Dans l’exemple ci-dessus, un élément notes spécifie l’existence d’une diapositive de notes avec tous ses composants. Notez l’élément cSld qui spécifie les éléments courants pouvant apparaître pour tout type de diapositive, puis les éléments spécifiant des propriétés supplémentaires spécifiques à cette diapositive de notes.

© ISO/IEC29500: 2008.

L’élément <notes> est l’élément racine du composant Diapositive des notes PresentationML. 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 notes> utilisé lors de l’utilisation <des diapositives de notes 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

Le tableau suivant de la spécification ISO/IEC 29500 décrit les attributs de l’élément <notes> .

Attributs Description
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 de cet attribut sont définies par le type de données boolean du schéma W3C XML.
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 de cet attribut sont définies par le type de données boolean du schéma W3C XML.

© ISO/IEC29500: 2008.


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

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

Les classes qui représentent des éléments enfants de l’élément <notes> et qui sont donc couramment associées à la classe NotesSlide sont présentées dans la liste suivante.

Classe ColorMapOverride

La classe ColorMapOverride 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 <enfant masterClrMapping> est présent, le jeu de couleurs défini par le master est utilisé. Si l’élément <enfant overrideClrMapping> 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.

© ISO/IEC29500: 2008.

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.

© ISO/IEC29500: 2008.

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 l’information indiquant si cette propriété d’extension a été modifiée. Fin de la remarque]

© ISO/IEC29500: 2008.


Utilisation de la classe NotesSlide

Comme indiqué dans l’exemple de code du Kit de développement logiciel (SDK) Open XML qui suit, chaque instance de la classe NotesSlide est associée à un instance de la classe NotesSlidePart, qui représente un composant de diapositive de notes, l’une des parties d’un package de fichier de présentation PresentationML et un composant requis pour chaque diapositive de notes dans un fichier de présentation. Chaque classe NotesSlide instance peut également être associée à un instance de la classe NotesMaster, qui à son tour est associée à un composant de présentation nommé de même nom, représenté par la classe NotesMasterPart.

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


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

La méthode suivante ajoute un nouveau composant de diapositive de notes à une présentation existante et crée un instance d’une classeNotesSlide du Kit de développement logiciel (SDK) Open XML dans le nouveau composant de diapositive de notes. Le constructeur de classe NotesSlide 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 P = DocumentFormat.OpenXml.Presentation;

static NotesSlidePart CreateNotesSlidePart(SlidePart slidePart1)
{
    NotesSlidePart notesSlidePart1 = slidePart1.AddNewPart<NotesSlidePart>("rId6");
    NotesSlide notesSlide = new NotesSlide(
    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()));
    notesSlidePart1.NotesSlide = notesSlide;
    return notesSlidePart1;
}

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 document PresentationML référencé dans le code.

    <?xml version="1.0" encoding="utf-8"?>
    <p:notes xmlns:p="https://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="https://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="https://schemas.openxmlformats.org/drawingml/2006/main" />
              </p:cNvSpPr>
              <p:nvPr>
                <p:ph />
              </p:nvPr>
            </p:nvSpPr>
            <p:spPr />
            <p:txBody>
              <a:bodyPr xmlns:a="https://schemas.openxmlformats.org/drawingml/2006/main" />
              <a:lstStyle xmlns:a="https://schemas.openxmlformats.org/drawingml/2006/main" />
              <a:p xmlns:a="https://schemas.openxmlformats.org/drawingml/2006/main">
                <a:endParaRPr />
              </a:p>
            </p:txBody>
          </p:sp>
        </p:spTree>
      </p:cSld>
      <p:clrMapOvr>
        <a:masterClrMapping xmlns:a="https://schemas.openxmlformats.org/drawingml/2006/main" />
      </p:clrMapOvr>
    </p:notes>

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

Guide pratique pour insérer une nouvelle diapositive dans une présentation

Guide pratique pour supprimer une diapositive d’une présentation

Guide pratique pour appliquer un thème à une présentation