Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Thema wird die Open XML SDK für Office-Klasse Slide und ihre Beziehung zum PresentationML-Schema des Open XML-Dateiformats erläutert. Weitere Informationen zur Gesamtstruktur der Teile und Elemente, aus denen ein PresentationML-Dokument besteht, finden Sie unter Struktur eines PresentationML-Dokuments.
Präsentationsfolien in PresentationML
Die SPEZIFIKATION ISO/IEC 29500 beschreibt das Open XML PresentationML-Element <sld/> , das zur Darstellung einer Präsentationsfolie in einem PresentationML-Dokument verwendet wird, wie folgt:
Mit diesem Element wird eine Folie innerhalb einer Folienliste angegeben. Die Folienliste wird zum Angeben einer Reihenfolge von Folien verwendet.
Beispiel: Betrachten Sie die folgende benutzerdefinierte Show mit einer Reihenfolge von Folien.
<p:custShowLst>
<p:custShow name="Custom Show 1" id="0">
<p:sldLst>
<p:sld r:id="rId4"/>
<p:sld r:id="rId3"/>
<p:sld r:id="rId2"/>
<p:sld r:id="rId5"/>
</p:sldLst>
</p:custShow>
</p:custShowLst>
Im Beispiel oben wird angegeben, dass die Folien in der folgenden Reihenfolge angezeigt werden sollen: Folie 4, dann 3, 2 und schließlich 5.
© ISO/IEC 29500: 2016
Das <sld/> -Element ist das Stammelement des PresentationML-Folienteils. Weitere Informationen zur Gesamtstruktur der Teile und Elemente eines PresentationML-Dokuments finden Sie unter Struktur eines PresentationML-Dokuments.
In der folgenden Tabelle sind die untergeordneten Elemente des Elements aufgeführt, die <sld/> beim Arbeiten mit Präsentationsfolien verwendet werden, und die Open XML SDK-Klassen, die ihnen entsprechen.
| PresentationML-Element | Open XML SDK-Klasse |
|---|---|
<clrMapOvr /> |
ColorMapOverride |
<cSld /> |
CommonSlideData |
<extLst /> |
ExtensionListWithModification |
<timing /> |
Timing |
<transition /> |
Transition |
Open XML SDK-Folienklasse
Die Open XML SDK-Klasse Slide stellt das element dar, das <sld/> im Open XML-Dateiformatschema für PresentationML-Dokumente definiert ist.
Verwenden Sie das Slide -Objekt, um einzelne <sld/> Elemente in einem PresentationML-Dokument zu bearbeiten.
Klassen, die Slide der Klasse häufig zugeordnet sind, werden in den folgenden Abschnitten gezeigt.
ColorMapOverride-Klasse
Die ColorMapOverride -Klasse entspricht dem <clrMapOvr/> -Element. Die folgenden Informationen aus der SPEZIFIKATION ISO/IEC 29500 führen das <clrMapOvr/> Element ein:
Dieses Element stellt einen Mechanismus bereit, mit dem die im <ClrMap/> -Element aufgeführten Farbschemas überschrieben werden. Wenn das <masterClrMapping/> untergeordnete Element vorhanden ist, wird das vom master definierte Farbschema verwendet. Wenn das <overrideClrMapping/> untergeordnete Element vorhanden ist, definiert es ein neues Farbschema, das für die übergeordnete Notizenfolie, die Präsentationsfolie oder das Folienlayout spezifisch ist.
© ISO/IEC 29500: 2016
CommonSlideData-Klasse
Die CommonSlideData -Klasse entspricht dem <cSld/> -Element. Die folgenden Informationen aus der SPEZIFIKATION ISO/IEC 29500 führen das <cSld/> Element ein:
Dieses Element gibt einen Container für den Folieninformationstyp an, der für alle Folientypen relevant ist. Alle Folien verwenden einen gemeinsamen Satz von Eigenschaften, die unabhängig vom Folientyp sind. Die Beschreibung dieser Eigenschaften für eine bestimmte Folie wird im Container der Folie <cSld/> gespeichert. Foliendaten, die für den vom übergeordneten Element angegebenen Folientyp spezifisch sind, werden an anderer Stelle gespeichert.
Die tatsächlichen Daten in <cSld/> beschreiben nur die jeweilige übergeordnete Folie. Es ist nur der Typ der gespeicherten Informationen, der für alle Folien gilt.
© ISO/IEC 29500: 2016
ExtensionListWithModification-Klasse
Die ExtensionListWithModification -Klasse entspricht dem <extLst/> -Element. Die folgenden Informationen aus der
specification führt das -Element ein <extLst/> :
Dieses Element gibt die Erweiterungsliste mit Änderungsmöglichkeit an, in der alle zukünftigen Erweiterungen des Elementtyps <ext/> definiert sind.
Die Erweiterung wird gemeinsam mit den entsprechenden künftigen Erweiterungen genutzt, um die Speicherfähigkeit des PresentationML-Frameworks zu vergrößern. Dadurch können verschiedene neue Arten von Daten systeminhärent im Framework gespeichert werden.
[Hinweis: Mithilfe dieses extLst Elements kann die generierende Anwendung speichern, ob diese Erweiterungseigenschaft geändert wurde. Ende des Hinweises]
© ISO/IEC 29500: 2016
Timing-Klasse
Die Timing -Klasse entspricht dem <timing/> -Element. Die folgenden Informationen aus der SPEZIFIKATION ISO/IEC 29500 führen das <timing/> Element ein:
Dieses Element gibt die Zeitgeberinformationen zur Behandlung aller Animationen und geplanten Ereignisse innerhalb der entsprechenden Folie an. Diese Informationen werden über Zeitknoten innerhalb des <timing/> Elements nachverfolgt.
Weitere Informationen zu den Besonderheiten dieser Zeitknoten und zu ihrer Definition finden Sie innerhalb des Animationsabschnitts des PresentationML-Frameworks.
© ISO/IEC 29500: 2016
Transition-Klasse
Die Transition -Klasse entspricht dem <transition/> -Element. Die folgenden Informationen aus der SPEZIFIKATION ISO/IEC 29500 führen das <transition/> Element ein:
Dieses Element gibt die Art des Folienübergangs an, der beim Übergang zur aktuellen Folie von der vorherigen Folie verwendet werden soll. Dies bedeutet, dass die Übergangsinformationen in der Folie gespeichert sind, die nach Abschluss des Übergangs angezeigt wird.
© ISO/IEC 29500: 2016
Arbeiten mit der Slide-Klasse
Wie im folgenden Codebeispiel für das Open XML SDK gezeigt, ist jede instance der Slide Klasse einer instance der Klasse zugeordnet, die SlidePart einen Folienteil darstellt, einen der erforderlichen Teile eines PresentationML-Präsentationsdateipakets. Jede instance der Slide Klasse muss auch Instanzen der SlideLayout - und SlideMaster -Klasse zugeordnet sein, die wiederum mit ähnlich benannten erforderlichen Präsentationsteilen verknüpft sind, die durch die SlideLayoutPart Klassen und SlideMasterPart dargestellt werden.
Die Slide -Klasse, die das <sld/> -Element darstellt, ist daher auch einer Reihe anderer Klassen zugeordnet, die die untergeordneten Elemente des <sld/> Elements darstellen. Zu diesen Klassen gehören, wie im folgenden Codebeispiel gezeigt, die CommonSlideData -Klasse, die ColorMapOverrideShapeTree -Klasse und die - Shape Klasse.
Open XML SDK-Codebeispiel
Die folgende Methode aus dem Artikel How to: Create a presentation document by providing a file name add a new slide part to an existing presentation and create an instance of the Open XML SDK Slide class in the new slide part.
Der Slide Klassenkonstruktor erstellt Instanzen der -Klasse und ColorMapOverride der CommonSlideData -Klasse. Der CommonSlideData Klassenkonstruktor erstellt eine instance der ShapeTree Klasse, deren Konstruktor wiederum zusätzliche Klasseninstanzen erstellt: eine instance der NonVisualGroupShapeProperties Klasse, die GroupShapeProperties -Klasse und die -ShapeKlasse.
Alle diese Klasseninstanzen und Instanzen der Klassen, die die untergeordneten Elemente des <sld/> Elements darstellen, sind erforderlich, um die Mindestanzahl von XML-Elementen zu erstellen, die zum Darstellen einer neuen Folie erforderlich sind.
Der Namespace, der durch den Buchstaben P im Code dargestellt wird, ist der DocumentFormat.OpenXml.Presentation Namespace.
static SlidePart CreateSlidePart(PresentationPart presentationPart)
{
SlidePart slidePart1 = presentationPart.AddNewPart<SlidePart>("rId2");
slidePart1.Slide = new Slide(
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 ColorMapOverride(new MasterColorMapping()));
return slidePart1;
}
Um der Shape-Struktur und somit der Folie ein weiteres Shape hinzuzufügen, instanziieren Sie ein zweites Shape Objekt, indem Sie einen zusätzlichen Parameter übergeben, der den folgenden Code enthält, an den ShapeTree Konstruktor.
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" }))))),
Generiertes PresentationML-Dokument
Wenn der Open XML SDK-Code in der -Methode ausgeführt wird, wird der folgende XML-Code in die PresentationML-Dokumentdatei geschrieben, auf die im Code verwiesen wird.
<?xml version="1.0" encoding="utf-8" ?>
<p:sld 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="Title 1" />
<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 lang="en-US" />
</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:sld>
Siehe auch
Informationen zum Open XML SDK für Office
Vorgehensweise: Einfügen einer neuen Folie in eine Präsentation
Vorgehensweise: Löschen einer Folie aus einer Präsentation
Vorgehensweise: Abrufen der Anzahl von Folien in einem Präsentationsdokument
Vorgehensweise: Anwenden eines Designs auf eine Präsentation
Vorgehensweise: Erstellen eines Präsentationsdokuments durch Angeben eines Dateinamens