Utilisation des présentations
Cette rubrique décrit la classe Du Kit de développement logiciel (SDK) Open XML pour Office Presentation 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.
Présentations dans PresentationML
La spécification ISO/IEC 29500 décrit l’élément de présentation> PresentationML <Open XML utilisé pour représenter une présentation dans un document PresentationML comme suit :
Cet élément spécifie des propriétés fondamentales concernant la présentation.
Exemple: Considérez la présentation suivante avec une seule diapositive master et deux diapositives. En plus de ces deux éléments couramment utilisés, il peut aussi y avoir la spécification d’autres propriétés telles que la taille des diapositives, la taille des notes et les styles de texte par défaut.
<p:presentation xmlns:a="" xmlns:r="" xmlns:p="">
<p:sldMasterIdLst>
<p:sldMasterId id="2147483648" r:id="rId1">
</p:sldMasterIdLst>
<p:sldIdLst>
<p:sldId id="256" r:id="rId3"/>
<p:sldId id="257" r:id="rId4"/>
</p:sldIdLst>
<p:sldSz cx="9144000" cy="6858000" type="screen4x3"/>
<p:notesSz cx="6858000" cy="9144000"/>
<p:defaultTextStyle>
…
</p:defaultTextStyle>
</p:presentation>
© ISO/IEC29500: 2008.
L’élément <presentation> contient généralement des éléments enfants qui répertorient les masques des diapositives, les diapositives et les diaporamas personnalisés contenus dans la présentation. Il contient aussi en général des éléments qui spécifient d’autres propriétés de la présentation, telles que la taille des diapositives, la taille des notes et les styles de texte par défaut.
L’élément <presentation> est l’élément racine du composant PresentationML Presentation. 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 certains des éléments enfants les plus courants de l’élément presentation> utilisé lors de l’utilisation <des présentations 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 |
---|---|
<sldMasterIdLst> | Slidemasteridlist |
<sldMasterId> | Slidemasterid |
<sldIdLst> | Slideidlist |
<sldId> | Slideid |
<notesMasterIdLst> | Notesmasteridlist |
<handoutMasterIdLst> | Handoutmasteridlist |
<custShowLst> | Customshowlist |
<sldSz> | SlideSize |
<notesSz> | Taille de notes |
<defaultTextStyle> | DefaultTextStyle |
Classe de présentation du Kit de développement logiciel (SDK) Open XML
La classePrésentation du Kit de développement logiciel (SDK) Open XML représente l’élément <presentation> défini dans le schéma de format de fichier Open XML pour les documents PresentationML. Utilisez la classe Presentation pour manipuler un élément de présentation> individuel <dans un document PresentationML.
Les classes couramment associées à la classe Presentation sont présentées dans les sections suivantes.
Classe SlideMasterIdList
Toutes les diapositives qui partagent le même master héritent de la même disposition de cette master. La classe SlideMasterIdList correspond à l’élément <sldMasterIdList> . La spécification ISO/IEC 29500 décrit l’élément Open XML PresentationML <sldMasterIdList> utilisé pour représenter une liste d’ID de diapositive master dans un document PresentationML comme suit :
Cet élément spécifie une liste d’informations d’identification pour les masques de diapositive qui sont disponibles dans la présentation correspondante. Un masque de diapositive est une diapositive spécifiquement conçue pour être un modèle pour toutes les diapositives de présentation enfants.
© ISO/IEC29500: 2008.
Classe SlideMasterId
La classe SlideMasterId correspond à l’élément <sldMasterId> . La spécification ISO/IEC 29500 décrit l’élément Open XML PresentationML <sldMasterId> utilisé pour représenter un ID de diapositive master dans un document PresentationML comme suit :
Cet élément spécifie un masque de diapositive qui est disponible dans la présentation correspondante. Un masque de diapositive est une diapositive spécifiquement conçue pour être un modèle pour toutes les diapositives de présentation enfants.
Exemple : Considérez la spécification suivante d’une diapositive master dans une présentation
<p:presentation xmlns:a="" xmlns:r="" xmlns:p=""
embedTrueTypeFonts="1">
…
<p:sldMasterIdLst>
<p:sldMasterId id="2147483648" r:id="rId1"/>
</p:sldMasterIdLst>
…
</p:presentation>
© ISO/IEC29500: 2008.
Classe SlideIdList
La classe SlideIdList correspond à l’élément <sldIdLst> . La spécification ISO/IEC 29500 décrit l’élément Open XML PresentationML <sldIdLst> utilisé pour représenter une liste d’ID de diapositive dans un document PresentationML comme suit :
Cet élément spécifie une liste d’informations d’identification pour les diapositives qui sont disponibles dans la présentation correspondante. Une diapositive contient les informations qui sont spécifiques à une diapositive donnée, telles que les informations spécifiques à la diapositive pour la forme et le texte.
© ISO/IEC29500: 2008.
Classe SlideId
La classe SlideId correspond à l’élément <sldId> . La spécification ISO/IEC 29500 décrit l’élément Open XML PresentationML <sldId> utilisé pour représenter un ID de diapositive dans un document PresentationML comme suit :
Cet élément spécifie une diapositive de présentation qui est disponible dans la présentation correspondante. Une diapositive contient les informations qui sont spécifiques à une diapositive donnée, telles que les informations spécifiques à la diapositive pour la forme et le texte.
Exemple : Considérez la spécification suivante d’une diapositive master dans une présentation
<p:presentation xmlns:a="" xmlns:r="" xmlns:p=""
embedTrueTypeFonts="1">
…
<p:sldIdLst>
<p:sldId id="256" r:id="rId3"/>
<p:sldId id="257" r:id="rId4"/>
<p:sldId id="258" r:id="rId5"/>
<p:sldId id="259" r:id="rId6"/>
<p:sldId id="260" r:id="rId7"/>
</p:sldIdLst>
...
</p:presentation>
© ISO/IEC29500: 2008.
Classe NotesMasterIdList
La classe NotesMasterIdList correspond à l’élément <notesMasterIdLst> . La spécification ISO/IEC 29500 décrit l’élément Open XML PresentationML <notesMasterIdLst> utilisé pour représenter une liste d’ID de notes master dans un document PresentationML comme suit :
Cet élément spécifie une liste d’informations d’identification pour les diapositives de masque de pages de notes qui sont disponibles dans la présentation correspondante. Un masque de page de notes est une diapositive spécifiquement conçue pour l’impression de la diapositive et des notes qui y sont associées.
© ISO/IEC29500: 2008.
Classe HandoutMasterIdList
La classe HandoutMasterIdList correspond à l’élément <handoutMasterIdLst> . La spécification ISO/IEC 29500 décrit l’élément Open XML PresentationML <handoutMasterIdLst> utilisé pour représenter un document master liste d’ID dans un document PresentationML comme suit :
Cet élément spécifie une liste d’informations d’identification pour les masques de document qui sont disponibles dans la présentation correspondante. Un masque de document est une diapositive spécifiquement conçue pour l’impression en tant que document.
© ISO/IEC29500: 2008.
Classe CustomShowList
La classe CustomShowList correspond à l’élément <custShowLst> . La spécification ISO/IEC 29500 décrit l’élément Open XML PresentationML <custShowLst> utilisé pour représenter une liste d’affichage personnalisée dans un document PresentationML comme suit :
Cet élément spécifie une liste de tous les diaporamas personnalisés qui sont disponibles dans la présentation correspondante. Un diaporama personnalisé est une séquence définie de diapositives qui permet l’affichage des diapositives avec la présentation selon un ordre arbitraire.
© ISO/IEC29500: 2008.
Classe SlideSize
La classe SlideSize correspond à l’élément <sldSz> . La spécification ISO/IEC 29500 décrit l’élément Open XML PresentationML <sldSz> utilisé pour représenter la taille des diapositives de présentation dans un document PresentationML comme suit :
Cet élément spécifie la taille de la surface de la diapositive de présentation. Les objets d’une diapositive de présentation peuvent être spécifiés en dehors de ces dimensions, mais il s’agit ici de la taille de la surface d’arrière-plan qui est affichée lorsque la diapositive est présentée ou imprimée.
Exemple : Considérez la spécification suivante de la taille d’une diapositive de présentation.
<p:presentation xmlns:a="" xmlns:r="" xmlns:p=""
embedTrueTypeFonts="1">
…
<p:sldSz cx="9144000" cy="6858000" type="screen4x3"/>
…
</p:presentation>
© ISO/IEC29500: 2008.
Classe NotesSize
La classe NotesSize correspond à l’élément <notesSz> . La spécification ISO/IEC 29500 décrit l’élément Open XML PresentationML <notesSz> utilisé pour représenter la taille des diapositives de notes dans un document PresentationML comme suit :
Cet élément spécifie la taille de la surface de la diapositive utilisée pour les diapositives de notes et les diapositives de document. Les objets d’une diapositive de notes peuvent être spécifiés en dehors de ces dimensions, mais la diapositive de notes a une surface d’arrière-plan de la taille spécifiée lorsqu’elle est présentée ou imprimée. Cet élément est destiné à spécifier la région où le contenu est adapté au format spécial d’impression que l’application est susceptible de générer, par exemple un document sous forme de plan.
Exemple : Considérez la spécification suivante de la taille d’une diapositive de notes.
<p:presentation xmlns:a="" xmlns:r="" xmlns:p=""
embedTrueTypeFonts="1">
…
<p:notesSz cx="9144000" cy="6858000"/>
…
</p:presentation>
© ISO/IEC29500: 2008.
Classe DefaultTextStyle
La classe DefaultTextStyle correspond à l’élément <defaultTextStyle> . La spécification ISO/IEC 29500 décrit l’élément Open XML PresentationML <defaultTextStyle> utilisé pour représenter le style de texte par défaut dans un document PresentationML comme suit :
Cet élément spécifie les styles de texte par défaut à utiliser dans la présentation. Le style de texte défini ici peut être référencé lors de l’insertion d’une nouvelle diapositive si cette diapositive n’est pas associée à un masque de diapositive ou si aucune information de style n’a été spécifiée pour le texte dans la diapositive de présentation.
© ISO/IEC29500: 2008.
Utilisation de la classe Presentation
Comme indiqué dans l’exemple de code du Kit de développement logiciel (SDK) Open XML qui suit, chaque instance de la classe Presentation est associée à un instance de la classe PresentationPart, qui représente une partie de présentation, l’une des parties requises d’un package de fichier de présentation PresentationML.
La classe Presentation , qui représente l’élément <presentation> , est donc également associée à une série d’autres classes qui représentent les éléments enfants de l’élément <presentation> . Comme le montre l’exemple de code suivant, les classes SlideMasterIdList, SlideIdList, SlideSize, NotesSize et DefaultTextStyle figurent parmi ces classes.
Exemple de code du Kit de développement logiciel (SDK) Open XML
L’exemple de code suivant de l’article Guide pratique pour créer un document de présentation en fournissant un nom de fichier utilise la méthode Create(String, PresentationDocumentType) de la classe PresentationDocument du Kit de développement logiciel (SDK) Open XML pour créer un instance de cette même classe qui a le nom et le chemin de fichier spécifiés. Il utilise ensuite la méthode AddPresentationPart() pour ajouter un instance de la classe PresentationPart au fichier de document. Ensuite, il crée un instance de la classe Presentation qui représente la présentation. Il passe une référence à l’instance de la classe PresentationPart à la procédure CreatePresentationParts, qui crée les autres composants requis du fichier de présentation. La procédure CreatePresentation effectue un nettoyage en fermant l’instance de la classe PresentationDocument qu’elle a précédemment ouverte.
La procédure CreatePresentationParts crée des instances des classes SlideMasterIdList, SlideIdList, SlideSize, NotesSize et DefaultTextStyle, et les ajoute à la présentation.
using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Presentation;
static void CreatePresentation(string filepath)
{
// Create a presentation at a specified file path. The presentation document type is pptx, by default.
PresentationDocument presentationDoc = PresentationDocument.Create(filepath, PresentationDocumentType.Presentation);
PresentationPart presentationPart = presentationDoc.AddPresentationPart();
presentationPart.Presentation = new Presentation();
CreatePresentationParts(presentationPart);
// Dispose the presentation handle.
presentationDoc.Dispose();
}
static void CreatePresentationParts(PresentationPart presentationPart)
{
SlideMasterIdList slideMasterIdList1 = new SlideMasterIdList(new SlideMasterId() { Id = (UInt32Value)2147483648U, RelationshipId = "rId1" });
SlideIdList slideIdList1 = new SlideIdList(new SlideId() { Id = (UInt32Value)256U, RelationshipId = "rId2" });
SlideSize slideSize1 = new SlideSize() { Cx = 9144000, Cy = 6858000, Type = SlideSizeValues.Screen4x3 };
NotesSize notesSize1 = new NotesSize() { Cx = 6858000, Cy = 9144000 };
DefaultTextStyle defaultTextStyle1 = new DefaultTextStyle();
presentationPart.Presentation.Append(slideMasterIdList1, slideIdList1, slideSize1, notesSize1, defaultTextStyle1);
// Code to create other parts of the presentation file goes here.
}
Document PresentationML résultant
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:presentation xmlns:p="https://schemas.openxmlformats.org/presentationml/2006/main">
<p:sldMasterIdLst>
<p:sldMasterId id="2147483648" r:id="rId1" xmlns:r="https://schemas.openxmlformats.org/officeDocument/2006/relationships"/>
</p:sldMasterIdLst>
<p:sldIdLst>
<p:sldId id="256" r:id="rId2" xmlns:r="https://schemas.openxmlformats.org/officeDocument/2006/relationships"/>
</p:sldIdLst>
<p:sldSz cx="9144000" cy="6858000" type="screen4x3"/>
<p:notesSz cx="6858000" cy="9144000"/>
<p:defaultTextStyle/>
</p:presentation>
Voir aussi
À propos du Kit de développement logiciel (SDK) Open XML pour Office
Guide pratique pour créer un document de 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 récupérer le nombre de diapositives dans un document de présentation