Eine nützliche Anwendung der Google Slides API ist es, Informationen aus einer oder mehreren Datenquellen in einer Folienvorlage zusammenzufü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 Designfachkräfte das Design einer Präsentation ganz einfach optimieren. Das ist viel einfacher als die Feinabstimmung der Parameter in der App, um das gerenderte Foliendesign festzulegen.
Das Trennen von Inhalten von der Präsentation ist ein bekanntes Designprinzip mit vielen Vorteilen.
Ein grundlegendes Rezept
Hier ein Beispiel dafür, wie Sie mit der Slides API Daten in einer Präsentation zusammenführen:
Erstellen Sie Ihre Präsentation so, wie sie erscheinen soll, und verwenden Sie Platzhalter 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 wahrscheinlich 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 Slides API mit einer Reihe vonreplaceAllText
-Anfragen, um den gesamten Text in der Präsentation zu ersetzen. MitreplaceAllShapesWithImage
-Anfragen können Sie Bilder in der gesamten Präsentation ersetzen.
Nachdem Sie eine Präsentation mit Tags erstellt haben, sollten Sie eine Kopie erstellen und diese mit der Slides API bearbeiten. Verwenden Sie die Slides API nicht, um Ihren primären "Vorlagen"-Text zu manipulieren.
Die folgenden Abschnitte enthalten Code-Snippets, die diesen Prozess veranschaulichen. Sie können sich auch das Video oben 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 Instanz von Text einzeln zu finden und zu ersetzen. Der ausgefeilteste Ansatz besteht unter anderem darin, dass Seitenelement-IDs schwer vorherzusagen sind, insbesondere weil Mitbearbeiter die Vorlagenpräsentation verfeinern 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 Tabellentabelle zu lesen, und schließlich die Slides API, um die neue Präsentation zu aktualisieren.
In diesem Beispiel werden Daten aus drei Zellen in einer Zeile eines benannten Bereichs der Tabelle verwendet. Diese Daten werden dann überall dort in der Präsentation eingesetzt, 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 Bilder auch in Ihrer 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 Begrenzung der Tag-Form passt, aber das Seitenverhältnis des Bildes beibehalten wird.
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. Dann wird die Slides API verwendet, um jede Form mit dem Text {{company-logo}}
zu finden und durch ein Bild des Unternehmenslogos zu ersetzen. Außerdem wird in der Anfrage jede Form mit dem 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 Informationen zu Größe und Transformation aus dem Tag.
- Fügen Sie der Seite das Bild hinzu und geben Sie dabei die Informationen zu Größe und Transformation an.
- Löschen Sie die Tag-Form.
Das Beibehalten des Seitenverhältnisses beim Skalieren auf die gewünschte Größe erfordert unter Umständen Sorgfalt, wie im folgenden Abschnitt beschrieben. Siehe auch dieses Beispiel: Form-Tag durch ein Bild ersetzen.
Seitenverhältnis beibehalten
Wenn Sie Bilder mit der Slides API erstellen, basiert das Seitenverhältnis nur auf der Bildgröße und nicht auf der Größe und den 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 der
width
undscaleX
des Tags festgelegt - height: Legen Sie dieses Attribut auf das Produkt aus
height
undscaleY
des Tags fest. - 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 seine 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 für Vorlagenpräsentationen, die von der Anwendung definiert und verwaltet werden, die Vorlage mithilfe eines eigenen Kontos, das die Anwendung repräsentiert. Dienstkonten sind eine gute Wahl, um Komplikationen durch Google Workspace-Richtlinien zu vermeiden, die die Freigabe einschränken.
Wenn Sie Instanzen von Präsentationen aus Vorlagen erstellen, verwenden Sie immer Endnutzeranmeldedaten. So haben Nutzer volle Kontrolle über die resultierende Präsentation und vermeiden Skalierungsprobleme aufgrund von Beschränkungen pro Nutzer in Google Drive.
Führen Sie die folgenden Schritte mit den Anmeldedaten für die Anwendung aus, um eine Vorlage mit einem Dienstkonto zu erstellen:
- Erstellen Sie mithilfe von presentations.create in der Präsentationen API eine Präsentation.
- Aktualisieren Sie die Berechtigungen mithilfe von permissions.create in der Drive API, damit die Empfänger die Präsentation lesen können.
- Aktualisieren Sie die Berechtigungen, damit Vorlagenautoren mithilfe von permissions.create in der Drive API schreiben können.
- 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 in der Drive API mit files.copy eine Kopie der Vorlage.
- Ersetzen Sie Werte mit presentation.batchUpdate in der Präsentationen API.