Freigeben über


Arbeiten mit Präsentationen

Letzte Änderung: Freitag, 8. Oktober 2010

Gilt für: Excel 2010 | Office 2010 | PowerPoint 2010 | Word 2010

Inhalt dieses Artikels
Präsentationen in PresentationML
Open XML SDK 2.0-Klasse "Presentation"
Arbeiten mit der Presentation-Klasse
Open XML SDK-Codebeispiel
Resultierendes PresentationML-Dokument

In diesem Thema werden die Open XML SDK 2.0 für Microsoft OfficePresentation-Klasse und ihre Beziehungen zum PresentationML-Schema des Open XML-Dateiformats behandelt. Weitere Informationen zur allgemeinen Struktur der Teile und Elemente, die ein SpreadsheetML-Dokument bilden, finden Sie unter Struktur eines PresentationML-Dokuments.

Präsentationen in PresentationML

In der Spezifikation ISO/IEC 29500 wird das Open XML PresentationML-Element <presentation> beschrieben, das zum Darstellen einer Präsentation in einem PresentationML-Dokument wie folgt dient.

Dieses Element gibt grundlegende für die gesamte Präsentation geltende Eigenschaften an.

[Betrachten Sie z. B. die folgende Präsentation mit einem einzelnen Folienmaster und zwei Folien. Zusätzlich zu diesen gängigen Elementen kann auch die Angabe anderer Eigenschaften vorhanden sein, z. B. Foliengröße, Notizengröße und Standardtextformate.

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

Ende des Beispiels]

© ISO/IEC29500: 2008.

Das Element <presentation> enthält üblicherweise untergeordnete Elemente, in denen Folienmaster, Folien und benutzerdefinierte Bildschirmpräsentationen in der Präsentation enthalten sind. Zusätzlich zu diesen gängigen Elementen kann auch die Angabe anderer Eigenschaften vorhanden sein, z. B. Foliengröße, Notizengröße und Standardtextformate.

Das Element <presentation> ist das Stammelement des PresentationML-Präsentationsteils. Weitere Informationen zur allgemeinen Struktur der Teile und Elemente, die ein PresentationML-Dokument bilden, finden Sie unter Struktur eines PresentationML-Dokuments.

In der folgenden Tabelle werden einige der gängigsten untergeordneten Elemente des Elements <presentation> aufgelistet, die beim Arbeiten mit Präsentationen und den ihnen entsprechenden Open XML SDK 2.0-Klassen verwendet werden.

PresentationML-Element

Open XML SDK 2.0-Klasse

<sldMasterIdLst>

SlideMasterIdList

<sldMasterId>

SlideMasterId

<sldIdLst>

SlideIdList

<sldId>

SlideId

<notesMasterIdLst>

NotesMasterIdList

<handoutMasterIdLst>

HandoutMasterIdList

<custShowLst>

CustomShowList

<sldSz>

SlideSize

<notesSz>

NotesSize

<defaultTextStyle>

DefaultTextStyle

Open XML SDK 2.0-Klasse "Presentation"

Die Open XML SDK 2.0-Klasse Presentation stellt das Element <presentation> dar, das im Open XML-Dateiformatschema für PresentationML-Dokumente definiert ist. Mithilfe der Presentation-Klasse können Sie ein einzelnes Element vom Typ <presentation> in einem PresentationML-Dokument bearbeiten.

In den folgenden Abschnitten werden Klassen beschrieben, die der Presentation-Klasse gemeinhin zugeordnet sind.

SlideMasterIdList-Klasse

Alle Folien, die denselben Master gemeinsam haben, übernehmen das Layout dieses Masters. Die SlideMasterIdList-Klasse entspricht dem Element <sldMasterIdList>. Die Spezifikation ISO/IEC 29500 beschreibt das Open XML PresentationML-Element <sldMasterIdList> das zum Darstellen einer Folienmaster-ID-Liste in einem PresentationML-Dokument wie folgt dient:

Dieses Element gibt eine Liste mit ID-Informationen für die Folienmasterfolien an, die in der entsprechenden Präsentation vorhanden sind. Ein Folienmaster ist eine Folie, die als Vorlage aller dazugehörigen untergeordneten Layoutfolien dient.

© ISO/IEC29500: 2008.

SlideMasterId-Klasse

Die SlideMasterId-Klasse entspricht dem Element <sldMasterId>. Die Spezifikation ISO/IEC 29500 beschreibt das Open XML PresentationML-Element <sldMasterId>, das zum Darstellen einer Folienmaster-ID in einem PresentationML-Dokument wie folgt dient:

Dieses Element gibt einen Folienmaster an, der in der entsprechenden Präsentation vorhanden ist. Ein Folienmaster ist eine Folie, die als Vorlage aller dazugehörigen untergeordneten Layoutfolien dient.

[Sehen Sie sich z. B. die folgende Angabe eines Folienmasters in einer Präsentation an:

<p:presentation xmlns:a="" xmlns:r="" xmlns:p="" embedTrueTypeFonts="1">
    …
    <p:sldMasterIdLst>
        <p:sldMasterId id="2147483648" r:id="rId1"/>
    </p:sldMasterIdLst>
    …
</p:presentation>

Ende des Beispiels]

© ISO/IEC29500: 2008.

SlideIdList-Klasse

Die SlideIdList-Klasse entspricht dem Element <sldIdLst>. Die Spezifikation ISO/IEC 29500 beschreibt das Open XML PresentationML-Element <sldIdLst>, das zum Darstellen einer Folien-ID in einem PresentationML-Dokument wie folgt dient:

Dieses Element gibt eine Liste mit ID-Informationen für die Folien an, die in der entsprechenden Präsentation vorhanden sind. Eine Folie enthält die für eine einzelne Folie spezifischen Informationen, z. B. eine folienspezifische Form und Textinformationen.

© ISO/IEC29500: 2008.

SlideId-Klasse

Die SlideId-Klasse entspricht dem Element <sldId>. Die Spezifikation ISO/IEC 29500 beschreibt das Open XML PresentationML-Element <sldId>, das zum Darstellen einer Folien-ID in einem PresentationML-Dokument wie folgt dient:

Dieses Element gibt eine Präsentationsfolie an, die in der entsprechenden Präsentation vorhanden ist. Eine Folie enthält die für eine einzelne Folie spezifischen Informationen, z. B. eine folienspezifische Form und Textinformationen.

[Sehen Sie sich z. B. die folgende Angabe einer Folien-ID in einer Präsentation an:

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

Ende des Beispiels]

© ISO/IEC29500: 2008.

NotesMasterIdList-Klasse

Die NotesMasterIdList-Klasse entspricht dem Element <notesMasterIdLst>. Die Spezifikation ISO/IEC 29500 beschreibt das Open XML PresentationML-Element <notesMasterIdLst>, das zum Darstellen einer Notizenmaster-ID-Liste in einem PresentationML-Dokument wie folgt dient:

Dieses Element gibt eine Liste mit ID-Informationen für die Notizenmasterfolien an, die in der entsprechenden Präsentation vorhanden sind. Ein Notizenmaster ist eine Folie, die zum Drucken der Folie zusammen mit hinzugefügten Notizen dient.

© ISO/IEC29500: 2008.

HandoutMasterIdList-Klasse

Die HandoutMasterIdList-Klasse entspricht dem Element <handoutMasterIdLst>. Die Spezifikation ISO/IEC 29500 beschreibt das Open XML PresentationML-Element <handoutMasterIdLst>, das zum Darstellen einer Handzettelmaster-ID-Liste in einem PresentationML-Dokument wie folgt dient:

Dieses Element gibt eine Liste mit ID-Informationen für die Handzettelmasterfolien an, die in der entsprechenden Präsentation vorhanden sind. Ein Handzettelmaster ist eine Folie, die zum Drucken als Handzettel dient.

© ISO/IEC29500: 2008.

CustomShowList-Klasse

Die CustomShowList-Klasse entspricht dem Element <custShowLst>. Die Spezifikation ISO/IEC 29500 beschreibt das Open XML PresentationML-Element <custShowLst>, das zum Darstellen einer Liste zielgruppenorientierter Präsentationen in einem PresentationML-Dokument wie folgt dient:

Dieses Element gibt eine Liste aller zielgruppenorientierten Präsentationen an, die in der entsprechenden Präsentation vorhanden sind. Eine zielgruppenorientierte Präsentation ist eine festgelegte Folienabfolge, die das Anzeigen der Folien in der Präsentation in einer beliebigen Reihenfolge ermöglicht.

© ISO/IEC29500: 2008.

SlideSize-Klasse

Die SlideSize-Klasse entspricht dem Element <sldSz>. Die Spezifikation ISO/IEC 29500 beschreibt das Open XML PresentationML-Element <sldSz>, das zum Darstellen einer Präsentationsfoliengröße in einem PresentationML-Dokument wie folgt dient:

Dieses Element gibt die Größe der Oberfläche der Präsentationsfolie an. Objekte auf einer Präsentationsfolie können über diese Abmessungen hinaus angegeben werden. Dies ist jedoch die Größe der Hintergrundoberfläche, die beim Präsentieren oder Drucken der Folie angezeigt wird.

[Sehen Sie sich z. B. die folgende Angabe der Größe einer Präsentationsfolie an:

<p:presentation xmlns:a="" xmlns:r="" xmlns:p="" embedTrueTypeFonts="1">
    …
    <p:sldSz cx="9144000" cy="6858000" type="screen4x3"/>
    …
</p:presentation>

Ende des Beispiels]

© ISO/IEC29500: 2008.

NotesSize-Klasse

Die NotesSize-Klasse entspricht dem Element <notesSz>. Die Spezifikation ISO/IEC 29500 beschreibt das Open XML PresentationML-Element <notesSz>, das zum Darstellen einer Notizenfoliengröße in einem PresentationML-Dokument wie folgt dient:

Dieses Element gibt die Größe der Folienoberfläche an, die für Notizen- und Handzettelfolien verwendet wird. Objekte auf einer Notizenfolie können über diese Abmessungen hinaus angegeben werden. Dies ist jedoch die Größe der Hintergrundoberfläche, die die Notizenfolie beim Präsentieren oder Drucken der Folie hat. Dieses Element dient zum Angeben des Bereichs, in den der Inhalt einem beliebigen von der Anwendung gewählten Sonderdruckformat eingepasst wird, z. B. für einen Gliederungshandzettel.

[Sehen Sie sich z. B. die folgende Angabe der Größe einer Notizenfolie an:

<p:presentation xmlns:a="" xmlns:r="" xmlns:p="" embedTrueTypeFonts="1">
    …
    <p:notesSz cx="9144000" cy="6858000"/>
    …
</p:presentation>

Ende des Beispiels]

© ISO/IEC29500: 2008.

DefaultTextStyle-Klasse

Die DefaultTextStyle-Klasse entspricht dem Element <defaultTextStyle>. Die Spezifikation ISO/IEC 29500 beschreibt das Open XML PresentationML-Element <defaultTextStyle>, das zum Darstellen eines Standardtextformats in einem PresentationML-Dokument wie folgt dient:

Dieses Element gibt die Standardtextformate an, die in der Präsentation verwendet werden müssen. Das hier festgelegte Textformat kann übernommen werden, wenn eine neue Folie eingefügt wird, die keiner Masterfolie zugeordnet ist, oder für den Text auf der Präsentationsfolie keine anderen Formatinformationen angegeben wurden.

© ISO/IEC29500: 2008.

Arbeiten mit der Presentation-Klasse

Wie im folgenden Open XML SDK-Codebeispiel gezeigt, ist jede Instanz der Presentation-Klasse einer Instanz der PresentationPart-Klasse zugeordnet, die einen Präsentationsteil darstellt, einen der erforderlichen Teile eines PresentationML-Präsentationsdateipakets.

Die Presentation-Klasse, die das <presentation>-Element darstellt, ist demzufolge auch einer Reihe anderer Klassen zugeordnet, die die untergeordneten Elemente des <presentation>-Elements darstellen. Zu diesen Klassen gehören (wie im folgenden Codebeispiel gezeigt) die Klassen SlideMasterIdList, SlideIdList, SlideSize, NotesSize und DefaultTextStyle.

Open XML SDK-Codebeispiel

Das folgende Codebeispiel aus dem Artikel Anleitung: Erstellen eines Präsentationsdokuments durch Bereitstellen eines Dateinamens verwendet die Create(String, PresentationDocumentType)-Methode der PresentationDocument-Klasse im Open XML SDK 2.0 zum Erstellen einer Instanz derselben Klasse mit dem angegebenen Namen und Dateipfad. Anschließend wird die AddPresentationPart()-Methode zum Hinzufügen einer Instanz der PresentationPart-Klasse zur Dokumentdatei verwendet. Als Nächstes wird eine Instanz der Presentation-Klasse erstellt, die die Präsentation darstellt. Dann wird ein Verweis auf die Instanz der PresentationPart-Klasse an die CreatePresentationParts-Prozedur übergeben, die die anderen erforderlichen Teile der Präsentationsdatei erstellt. Die CreatePresentation-Prozedur führt eine Bereinigung durch, indem die Instanz der PresentationDocument-Klasse geschlossen wird, die zuvor geöffnet wurde.

Die CreatePresentationParts-Prozedur erstellt Instanzen der Klassen SlideMasterIdList, SlideIdList, SlideSize, NotesSize und DefaultTextStyle und fügt diese an die Präsentation an.

public 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);

            // Close the presentation handle.
            presentationDoc.Close();
        } 
private 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.
        }
Public Shared Sub CreatePresentation(ByVal filepath As String)

            ' Create a presentation at a specified file path. The presentation document type is pptx, by default.
            Dim presentationDoc As PresentationDocument = PresentationDocument.Create(filepath, PresentationDocumentType.Presentation)
            Dim presentationPart As PresentationPart = presentationDoc.AddPresentationPart()
            presentationPart.Presentation = New Presentation()

            CreatePresentationParts(presentationPart)

            ' Close the presentation handle.
            presentationDoc.Close()
        End Sub
Private Shared Sub CreatePresentationParts(ByVal presentationPart As PresentationPart)
            Dim slideMasterIdList1 As New SlideMasterIdList(New SlideMasterId() With { _
             .Id = DirectCast(2147483648UI, UInt32Value), _
             .RelationshipId = "rId1" _
            })
            Dim slideIdList1 As New SlideIdList(New SlideId() With { _
             .Id = DirectCast(256UI, UInt32Value), _
             .RelationshipId = "rId2" _
            })
            Dim slideSize1 As New SlideSize() With { _
             .Cx = 9144000, _
             .Cy = 6858000, _
             .Type = SlideSizeValues.Screen4x3 _
            }
            Dim notesSize1 As New NotesSize() With { _
             .Cx = 6858000, _
             .Cy = 9144000 _
            }
            Dim defaultTextStyle1 As New DefaultTextStyle()

            presentationPart.Presentation.Append(slideMasterIdList1, slideIdList1, slideSize1, notesSize1, defaultTextStyle1)

         ' Code to create other parts of the presentation file goes here.
        End Sub

Resultierendes PresentationML-Dokument

Bei Ausführung des Open XML SDK 2.0-Codes wird der folgende XML-Code in das PresentationML -Dokument geschrieben, auf das im Code verwiesen wird.

<?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>

Siehe auch

Konzepte

Informationen zum Open XML SDK 2.0 für Microsoft Office

Anleitung: Erstellen eines Präsentationsdokuments durch Bereitstellen eines Dateinamens

Anleitung: Einfügen einer neuen Folie in eine Präsentation

Anleitung: Löschen einer Folie aus einer Präsentation

Vorgehensweise: Abrufen der Anzahl der Folien in einem Präsentationsdokument

Anleitung: Anwenden eines Desigs auf eine Präsentation