Mit der Google Slides API lassen sich Informationen aus einer oder mehreren Datenquellen in einer Foliensammlung zusammenführen.
Auf dieser Seite wird beschrieben, wie Sie Daten aus einer externen Quelle in eine vorhandene Vorlagenpräsentation einfügen können. Das Konzept ähnelt der Zusammenstellung von E-Mail-Inhalten mithilfe eines Textverarbeitungsprogramms und einer Tabelle.
Es gibt mehrere Gründe, warum dieser Ansatz nützlich ist:
Mit dem Google Präsentationen-Editor können Designer das Design einer Präsentation ganz einfach optimieren. Das ist viel einfacher, als Parameter in der App anzupassen, um das gerenderte Foliendesign festzulegen.
Das Trennen von Inhalten von der Präsentation ist ein bekanntes Designprinzip mit vielen Vorteilen.
Ein Grundrezept
Hier ist ein Beispiel dafür, wie Sie mit der Slides API Daten in einer Präsentation zusammenführen können:
Erstellen Sie Ihre Präsentation mit Platzhaltern für das Design.
Ersetzen Sie für jedes Inhaltselement, das Sie einfügen möchten, den Platzhalterinhalt durch ein Tag. Tags sind Textfelder oder Formen mit einer eindeutigen Zeichenfolge. Verwenden Sie Strings, die mit hoher Wahrscheinlichkeit nicht normal auftreten. Zum Beispiel könnte
{{account-holder-name}}
ein gutes Tag sein.Erstellen Sie in Ihrem Code mit der Google Drive API eine Kopie der Präsentation.
Verwenden Sie in Ihrem Code die Methode
batchUpdate
der Präsentationen API mit einer Reihe vonreplaceAllText
-Anfragen, um alle Textersetzungen in der Präsentation auszuführen. MitreplaceAllShapesWithImage
-Anfragen können Sie Bildersetzungen während der gesamten Präsentation ausführen.
Nachdem Sie eine Präsentation mit Tags erstellt haben, sollten Sie eine Kopie erstellen und diese mit der Slides API bearbeiten. Verwenden Sie nicht die Slides API, um Ihre primäre "Vorlagenkopie" zu bearbeiten.
Die folgenden Abschnitte enthalten Code-Snippets, die diesen Prozess veranschaulichen. Sie können sich auch das obige Video ansehen, um ein vollständiges Beispiel (Python) zu sehen, in dem mehrere Konzepte aus den einzelnen Abschnitten unten kombiniert werden.
Text zusammenführen
Mit einer replaceAllText
-Anfrage können Sie alle Instanzen eines bestimmten Textstrings in einer Präsentation durch neuen Text ersetzen. Bei Zusammenführungen ist dies einfacher, als jede Textinstanz einzeln zu finden und zu ersetzen. Ein Grund für diesen ausgefeiltesten Ansatz ist, dass Seitenelement-IDs schwer vorherzusagen sind, insbesondere weil Mitbearbeiter die Vorlagenpräsentation optimieren und verwalten.
Beispiel
In diesem Beispiel wird die Drive API verwendet, um eine Vorlagenpräsentation zu kopieren und eine neue Instanz der Präsentation zu erstellen. Dann wird die Google Sheets API verwendet, um Daten aus einer Tabelle in Google Tabellen zu lesen, und die Präsentationen API, um die neue Präsentation zu aktualisieren.
In diesem Beispiel werden Daten aus drei Zellen in einer Zeile eines benannten Bereichs in der Tabelle verwendet. Anschließend ersetzt es diese Daten überall dort, wo die Strings {{customer-name}}
, {{case-description}}
oder {{total-portfolio}}
vorkommen.
Apps Script
Ok
Java
JavaScript
Node.js
PHP
Python
Ruby
Bilder zusammenführen
Mit einer replaceAllShapesWithImage
-Anfrage können Sie auch Bilder in Ihre Präsentation zusammenführen. Diese Anfrage ersetzt alle Instanzen von Formen, die den angegebenen Textstring enthalten, durch das bereitgestellte Bild. Durch die Anfrage wird das Bild automatisch so positioniert und skaliert, dass es in die Grenzen der Tag-Form passt, wobei das Seitenverhältnis des Bildes erhalten bleibt.
Beispiel
In diesem Beispiel wird die Google Drive API verwendet, um eine Vorlagenpräsentation zu kopieren und eine neue Instanz der Präsentation zu erstellen. Anschließend wird über die Slides API eine beliebige Form mit dem Text {{company-logo}}
gesucht und durch ein Firmenlogo ersetzt. Außerdem werden bei der Anfrage alle Formen durch den Text {{customer-graphic}}
durch ein anderes Bild ersetzt.
Apps Script
Ok
Java
JavaScript
Node.js
PHP
Python
Ruby
Bestimmte Textfeld- oder Image-Instanzen ersetzen
Mit den Anfragen replaceAllText
und replaceAllShapesWithImage
können Sie Tags in einer Präsentation ersetzen. Manchmal müssen Elemente jedoch nur nach anderen Kriterien ersetzt werden, z. B. wenn sie sich auf einer bestimmten Folie befinden.
In diesen Fällen müssen Sie die IDs der Tag-Formen abrufen, die Sie ersetzen möchten. Zum Ersetzen von Text löschen Sie den vorhandenen Text in diesen Formen und fügen dann den neuen Text ein (siehe Beispiel Text in einer bestimmten Form bearbeiten).
Das Ersetzen von Bildern ist komplexer. So führen Sie ein Bild zusammen:
- Rufen Sie die ID der Tag-Form ab.
- Kopieren Sie die Größe und Transformationsinformationen aus dem Tag.
- Fügen Sie der Seite das Bild hinzu und verwenden Sie dabei die Informationen zur Größe und Transformation.
- Löschen Sie die Tag-Form.
Die Beibehaltung des Seitenverhältnisses des Bildes bei der Skalierung auf die gewünschte Größe kann Sorgfalt erfordern, wie im folgenden Abschnitt beschrieben. Sehen Sie sich auch dieses Beispiel an: Form-Tag durch ein Bild ersetzen
Seitenverhältnis beibehalten
Wenn Sie Bilder mit der Slides API erstellen, basiert die Anpassung der Seitenverhältnisse nur auf der Bildgröße und nicht auf den Größen- und Transformationsdaten. Die Größendaten, die Sie in der createImage
-Anfrage angeben, gelten als die gewünschte Bildgröße. Die API passt das Seitenverhältnis des Bildes an die gewünschte Größe an und wendet dann die angegebene Transformation an.
Wenn Sie ein Tag durch ein Bild ersetzen, behalten Sie das Seitenverhältnis des Bildes bei, indem Sie die Größe und Skalierung des Bildes so festlegen:
- width: wird auf das Produkt aus
width
undscaleX
des Tags festgelegt - height: ist das Produkt aus
height
undscaleY
des Tags - scale_x: auf
1
festgelegt - scale_y: auf
1
festgelegt
Dadurch passt die Slides API das Bild an die visuelle Größe des Tags und nicht an die nicht skalierte Größe an (siehe Form-Tag durch ein Bild ersetzen).
Wenn Sie die Skalierungsparameter auf 1
festlegen, wird das Bild nicht doppelt skaliert.
Dadurch wird das Seitenverhältnis des Bilds beibehalten und verhindert, dass das Bild die Größe der Tag-Form überschreitet. Das Bild hat denselben Mittelpunkt wie die Tag-Form.
Vorlagen verwalten
Erstellen Sie die Vorlage für Vorlagenpräsentationen, die von der Anwendung definiert und verwaltet werden, mit einem speziellen Konto, das die Anwendung repräsentiert. Dienstkonten sind eine gute Wahl und vermeiden Komplikationen bei Google Workspace-Richtlinien, die die Freigabe einschränken.
Wenn Sie Instanzen von Präsentationen aus Vorlagen erstellen, verwenden Sie immer die Anmeldedaten des Endnutzers. So haben Nutzer die volle Kontrolle über die resultierende Präsentation und vermeiden Skalierungsprobleme im Zusammenhang mit Limits pro Nutzer in Google Drive.
Führen Sie die folgenden Schritte mit den Anwendungsanmeldedaten aus, um eine Vorlage mit einem Dienstkonto zu erstellen:
- Erstellen Sie eine Präsentation mit presentations.create in der Präsentationen API.
- Aktualisieren Sie die Berechtigungen mit permissions.create in der Drive API, damit die Präsentationsempfänger die Datei lesen können.
- Aktualisieren Sie die Berechtigungen, um Vorlagenautoren das Schreiben in die Datei zu erlauben. Verwenden Sie dazu permissions.create in der Drive API.
- Bearbeiten Sie die Vorlage nach Bedarf.
Führen Sie die folgenden Schritte mit den Nutzeranmeldedaten aus, um eine Instanz der Präsentation zu erstellen:
- Erstellen Sie mit files.copy in der Drive API eine Kopie der Vorlage.
- Werte mit presentation.batchUpdate in der Präsentationen API ersetzen.