Damit Sie die Google Präsentationen API effektiv nutzen können, müssen Sie die Architektur von Präsentationen und deren Komponenten sowie die Interaktionen zwischen diesen Komponenten verstehen. Auf dieser Seite finden Sie eine detaillierte Übersicht über die folgenden Themen:
- Konzeptmodell der Präsentationskomponenten
- Darstellung dieser Komponenten in der API
- Stileigenschaften der Komponenten
Wenn Sie sich diese und die anderen Konzeptübersichten ansehen, können Sie die Anleitungen, die Referenzdokumentation und die Rezeptbeispiele leichter verstehen und verwenden.
Präsentationen, Seiten und Seitenelemente
Das äußerste Containerelement in Google Präsentationen ist eine Präsentation. Diese Einheit kann in Google Drive gespeichert und für andere Nutzer freigegeben werden.
Jede Präsentation enthält verschiedene Arten von Seiten. Eine Art von Seite ist eine Folie. Das sind die Seiten, die Nutzer sehen und zwischen denen sie wechseln, wenn die Präsentation auf einem Bildschirm gerendert wird.
Jede Seite enthält eine Reihe von Seitenelementen, die zusammen den Inhalt der Seite bilden, wie im folgenden Diagramm dargestellt:
Neben Folien gibt es noch andere Seitentypen, mit denen Sie ein Design auf viele verschiedene Folien anwenden und so ein einheitliches Erscheinungsbild schaffen können. Diese anderen Seitentypen sind Master und Layouts. Ihre Eigenschaften bestimmen, wie Folien gerendert werden, wie im folgenden Diagramm dargestellt:
Masterseiten: Die Masterseite dient zwei Zwecken. Die Platzhalter in der Mastervorlage enthalten die Standardwerte für die Textstile, die in der gesamten Präsentation verwendet werden. Der Hintergrund und alle anderen Formen auf der Masterfolie bilden den Standardhintergrund für alle Folien, die auf diesem Master basieren. Wenn Sie ein Unternehmenslogo haben, das auf jeder Folie Ihrer Präsentation erscheinen soll, fügen Sie es dem Master hinzu.
Layouts: Layoutvorlagen legen fest, wie Inhalte auf den einzelnen Folientypen angeordnet werden. Wenn Sie möchten, dass alle Titelfolien gleich aussehen, können Sie beispielsweise die Vorlage für das Titellayout bearbeiten.
Es gibt noch zwei weitere Arten von Seiten: Notizenseiten und Notizenmaster. Sie sind vor allem für die Arbeit mit Sprechernotizen relevant.
API-Darstellungstypen und -struktur
In diesem Abschnitt wird beschrieben, wie das oben beschriebene konzeptionelle Modell von Google Präsentationen in der Slides API dargestellt wird.
Das folgende Diagramm zeigt die Beziehung zwischen Präsentationen, Seiten und Seitenelementen als Typen in der Google Präsentationen API:
In den folgenden Abschnitten wird gezeigt, wie diese Typen in JSON dargestellt werden.
Präsentationen
Eine Präsentation umfasst eine Reihe von Properties und die darin enthaltenen Seiten:
{
"presentationId": string,
"pageSize": { object(Size) },
"slides": [ { object(Page) } ],
"title": string,
"masters": [ { object(Page) } ],
"layouts": [ { object(Page) } ],
"notesMaster": object(Page),
"locale": string,
}
iWork Pages
Eine Seite enthält eine Reihe von Properties und die darin enthaltenen Seitenelemente:
{
"objectId": string,
"pageType": enum(PageType),
"pageElements": [ { object(PageElement) } ],
"pageProperties": { object(PageProperties) },
// Union field properties can be only one of the following:
"slideProperties": { object(SlideProperties) },
"layoutProperties": { object(LayoutProperties) },
"notesProperties": { object(NotesProperties) },
// End of list of possible types for union field properties.
}
Seitenelemente
Seitenelemente sind die visuellen Komponenten, die auf Seiten platziert werden. Ein Seitenelement in der API enthält eine Reihe von Eigenschaften, darunter ein Feld, das je nach Art des Seitenelements variiert:
{
"objectId": string,
"size": { object(Size) },
"transform": { object(AffineTransform) },
"title": string,
"description": string,
// Union field element_kind can be only one of the following:
"elementGroup": { object(Group) },
"shape": { object(Shape) },
"image": { object(Image) },
"video": { object(Video) },
"line": { object(Line) },
"table": { object(Table) },
"wordArt": { object(WordArt) },
"sheetsChart": { object(SheetsChart) },
// End of list of possible types for union field element_kind.
}
Es gibt verschiedene Arten von Seitenelementen, wie im obigen Beispiel durch das Union-Feld element_kind
definiert. Diese Arten von Seitenelementen werden in der folgenden Tabelle beschrieben:
Elementtyp | Beschreibung |
---|---|
Gruppe | Eine Reihe von Seitenelementen, die als einzelne Einheit behandelt werden. Sie können gemeinsam verschoben, skaliert und gedreht werden. |
Form | Ein einfaches visuelles Objekt wie Rechtecke, Ellipsen und Textfelder. Formen können Text enthalten und sind daher die gängigsten Seitenelemente zum Erstellen von Folien. |
Bild | Eine in Google Präsentationen importierte Grafik. |
Video | Ein in Google Präsentationen importiertes Video |
Linie | Eine visuelle Linie, Kurve oder Verbindung. |
Tabelle | Ein Raster mit Inhalten. |
WordArt | Ein visuelles Textelement, das sich eher wie eine Form verhält. |
SheetsChart | Ein Diagramm, das aus Google Tabellen in Google Präsentationen importiert wurde. |
Seiten- und Seitenelementeigenschaften
Mit der Google Präsentationen API können Sie das Aussehen von Seiten und Seitenelementen in Ihrer Präsentation lesen und aktualisieren. Für verschiedene Seitenelemente werden unterschiedliche Eigenschaften unterstützt, die festlegen, wie das Seitenelement gerendert wird.
Jede Art von Seitenelement hat ein entsprechendes Properties-Element und eine Properties-Aktualisierungsnachricht, z. B.:
- Es gibt den Seitenelementtyp Form.
- Das zugehörige Property-Feld ist shapeProperties.
- Die Anfrage zum Aktualisieren dieser Eigenschaften lautet UpdateShapePropertiesRequest.
Für jeden Seitenelementtyp gibt es dieselbe Reihe von Element-/Eigenschaftsanfragen/Aktualisierungsanfragen: Image/imageProperties/UpdateImageProperties usw.
Sie können das Attribut „properties“ überall lesen, wo es beim Lesen eines Elements vorkommt. Wenn Sie die darin enthaltenen Werte ändern möchten, verwenden Sie es mit dem entsprechenden Anfragetyp als Nutzlast für die Methode batchUpdate, um diese Werte in der Präsentation zu ändern.
Arten von Unterkünften
Es gibt einige Eigenschaften, die für mehrere Arten von Objekten in der Präsentationen API gemeinsam sind:
Attribut | Beschreibung |
---|---|
Farbe | Farben in der Google Präsentationen API können entweder ein RGB-Wert oder ein Verweis auf eine Designfarbe sein. Designfarben werden per Name (z. B. „DARK1“) referenziert und können mithilfe des Farbschemas einer Seite RGB-Werten zugeordnet werden. Dieses Farbschema wird in der Regel aktualisiert, wenn Sie das Design der Präsentation im Editor von Google Präsentationen ändern. |
Füllung | Die Füllung steht für das Rendern von leeren Bereichen innerhalb eines Objekts. Die am häufigsten unterstützte Füllung in Google Präsentationen ist eine Vollfüllung, bei der das Innere eines Objekts mit einer einzigen Volltonfarbe gefüllt ist. Füllungen können auch für die Hintergründe von Seiten verwendet werden. |
Umriss | Der Umriss stellt die Linien dar, die das Seitenelement umgeben. Die Farbe von Linien wird über eine Füllung gesteuert. Anrufer können auch die Breite und den Strichstil der Umrisse anpassen. |
Schatten | Der Schatten ist ein visueller Effekt, der einen physischen Schatten nachahmen soll, der vom Objekt geworfen wird. Derzeit sind Schatten in der Google Präsentationen API nur lesbar. |
Unterkünfte aktualisieren
Verwenden Sie zum Aktualisieren einer Property die entsprechende Update...Properties
-Anfrage in einem batchUpdate-Aufruf, z. B. UpdateShapeProperties
für Formen. Bei diesen Anfragen wird eine vollständige Properties-Nachricht akzeptiert und mithilfe von Feldmasken kann festgelegt werden, welche Felder in der Properties-Nachricht aktualisiert werden sollen.
Übernahme für Properties
Eine Seite oder ein Seitenelement kann Attribute von seinen übergeordneten Objekten übernehmen. Die Eigenschaften eines Objekts, einschließlich der von ihm definierten und der von ihm übernommenen, bestimmen sein endgültiges Erscheinungsbild.
- Seiteneigenschaften: Eine Seite erbt alle Eigenschaften, die nicht für sie definiert sind, aber im Layout oder Master definiert sind, auf dem sie basiert.
- Formeigenschaften: Eine Form kann als Platzhalter gekennzeichnet werden. So können Sie explizit auf eine andere Platzhalterform (im übergeordneten Layout oder Master der Seite) verweisen, von der Eigenschaften übernommen werden sollen.
Diese Ideen werden in den folgenden Abschnitten näher erläutert.
Übernahme von Seiteneigenschaften
Die Struktur von Folien, Layouts und Mastern definiert eine Vererbungshierarchie innerhalb der Präsentation: Folien werden von Layouts und Layouts von Mastern vererbt. Das übergeordnete Layout und der übergeordnete Master einer Folie werden im Feld slideProperties der Folie angegeben.
Eine Seite kann Eigenschaften wie Hintergrund und Farbschema von einer übergeordneten Seite übernehmen. Wenn eine Property übernommen werden soll, wird in der PageProperties-Nachricht der untergeordneten Seite einfach kein Wert für diese Property festgelegt. Da der vom übergeordneten Element definierte Wert nicht „überschrieben“ wird, wird der übernommene Wert auf der Seite akzeptiert.
Das folgende Diagramm zeigt eine Folie, die Eigenschaften von einem Layout erbt, das wiederum von einem Master erbt:
Die zum Rendern einer Folie verwendeten Eigenschaften sind eine Kombination aus den definierten und den übernommenen Eigenschaften. In diesem Beispiel sind die ermittelten Werte, die zum Rendern von Folie 1 verwendet werden, folgende:
- PropertyA ist „Rot“.
- PropertyB ist „Orange“.
Übernahme von Formeigenschaften
Formen können Eigenschaften wie Füllung, Umriss oder Schatten von anderen Formen übernehmen. Eine Form ist ein Platzhalter, wenn das Feld Shape.placeholder festgelegt ist. Im Feld Shape.placeholder.parentObjectId
des untergeordneten Platzhalters wird der übergeordnete Platzhalter angegeben. Wenn Sie eine neue Folie auf der Grundlage eines Layouts erstellen, werden alle Platzhalter in diesem Layout als untergeordnete Formen auf der neuen Folie angezeigt.
Ähnlich können Platzhalter auf Masterseiten als übergeordnete Elemente der Platzhalter der Layouts fungieren.
Wenn diese Hierarchie der Vererbung definiert ist, wird die Property von der untergeordneten Seite übernommen, indem dieser Wert nicht in der ShapeProperties-Nachricht festgelegt wird. Da der vom übergeordneten Element definierte Wert nicht überschrieben wird, übernimmt die untergeordnete Form den übernommenen Wert.
Das folgende Diagramm zeigt die Übernahme von Eigenschaften zwischen drei Platzhaltern, die in einer Folie, einem Layout und einem Master enthalten sind:
Die zum Rendern einer Platzhalterform verwendeten Eigenschaften sind eine Kombination aus den definierten und den übernommenen Eigenschaften. In diesem Beispiel sind die ermittelten Werte für diese Formen folgende:
- Platzhalter1: propertyA wird als „Gelb“ und propertyB als „Grün“ gerendert.
- Platzhalter 2: propertyA wird als „Gelb“ und propertyB als „Violett“ gerendert.
- Platzhalter 3: propertyA wird als „Gelb“ und propertyB als „Violett“ gerendert.
Formen sind die einzige Art von Seitenelementen, die übergeordnete Elemente haben können. Andere Typen wie Bilder, Tabellen und Diagramme können keine Platzhalter sein und keine übergeordneten Elemente haben.
Properties mit PropertyState „ausblenden“
Mit der Aufzählung PropertyState wird festgelegt, ob die Property einer Form tatsächlich für das Rendern verwendet wird oder ob der Wert nur für die Vererbung durch untergeordnete Formen verwendet wird. Eine Property mit dem Property-Status NOT_RENDERED
wird beim Rendern der Form auf der Seite nicht verwendet. Untergeordnete Elemente mit dem entsprechenden Property-Status RENDERED
können diese Property jedoch trotzdem erben.
Das folgende Diagramm zeigt die Übernahme von Properties zwischen drei Platzhaltern, die das Feld „PropertyState“ bearbeiten:
Das Feld „PropertyState“ kann sich auf das Rendern von Formeigenschaften auswirken. In diesem Beispiel sind die ermittelten Werte für diese Formen folgende:
- Platzhalter1: propertyA wird als „Rot“ gerendert.
- Platzhalter2: propertyA wird nicht gerendert. Wenn dies die Umrisseigenschaft wäre, hätte Placeholder2 keinen Umriss.
- Platzhalter3: propertyA wird nicht gerendert.
Es gibt noch einen möglichen Wert der Aufzählung PropertyState: Der Property-Status INHERIT
bedeutet, dass der Property-Status selbst übernommen wird und der Wert des übergeordneten Elements verwendet werden sollte. Formen ohne übergeordnete Elemente können keinen Eigenschaftsstatus von INHERIT
haben.