Eine nützliche Anwendung der Google Slides API besteht darin, Informationen aus einer oder mehreren Datenquellen in einer Präsentationsvorlage 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 dem einer Zusammenstellung von E-Mail-Inhalten mithilfe eines Textverarbeitungsprogramms und einer Tabellenkalkulation.
Dieser Ansatz ist aus mehreren Gründen hilfreich:
Mit dem Google Präsentationen-Editor können Designer das Design einer Präsentation ganz einfach optimieren. Das ist viel einfacher, als die Parameter in der App für das Design der gerenderten Folie festzulegen.
Das Trennen von Inhalten von der Präsentation ist ein bekanntes Designprinzip mit vielen Vorteilen.
Ein einfaches Rezept
Hier ist ein Beispiel dafür, wie Sie die Slides API verwenden können, um Daten in einer Präsentation zusammenzuführen:
Erstellen Sie Ihre Präsentation so, wie sie aussehen soll. Verwenden Sie Platzhalter für das Design.
Ersetzen Sie für jedes einzufügende Inhaltselement den Platzhalterinhalt durch ein Tag. Tags sind Textfelder oder Formen mit einer eindeutigen Zeichenfolge. Achten Sie darauf, Zeichenfolgen zu verwenden, die wahrscheinlich nicht normal auftreten. Beispielsweise könnte
{{account-holder-name}}
ein gutes Tag sein.Erstellen Sie mit der Google Drive API in Ihrem Code eine Kopie der Präsentation.
Verwenden Sie in Ihrem Code die Methode
batchUpdate
der Slides API mit einer Reihe vonreplaceAllText
-Anfragen, um alle Textersetzungen in der Präsentation auszuführen. MitreplaceAllShapesWithImage
-Anfragen können Sie in der gesamten Präsentation Bildersetzungen vornehmen.
Nachdem Sie eine Präsentation mit Tags erstellt haben, erstellen Sie eine Kopie und bearbeiten Sie diese mit der Slides API. Verwenden Sie nicht die Slides API, um die primäre Kopie der Vorlage zu bearbeiten.
Die folgenden Abschnitte enthalten Code-Snippets, die einen Teil dieses Prozesses veranschaulichen. Sie können sich auch das obige Video mit einem vollständigen Beispiel (Python) ansehen, 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. Dies ist unter anderem der ausgefeilteste Ansatz, da Seitenelement-IDs schwer vorherzusagen sind, insbesondere da die Vorlagenpräsentation von Mitarbeitern optimiert und gepflegt wird.
Beispiel
In diesem Beispiel wird die Drive API verwendet, um eine Präsentationsvorlage zu kopieren und eine neue Instanz der Präsentation zu erstellen. Anschließend wird die Google Sheets API verwendet, um Daten aus einer Google Tabellen-Tabelle zu lesen, und schließlich die Slides API, um die neue Präsentation zu aktualisieren.
In diesem Beispiel werden Daten aus 3 Zellen in einer Zeile eines benannten Bereichs in der Tabelle übernommen. Diese Daten werden dann überall dort in der Präsentation verwendet, 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 in Ihre Präsentation zusammenführen. Bei dieser Anfrage werden alle Instanzen von Formen, die den angegebenen Textstring enthalten, durch das angegebene Bild ersetzt. Durch die Anfrage wird das Bild automatisch so positioniert und skaliert, dass es in die Grenzen der Tag-Form passt. Das Seitenverhältnis des Bildes bleibt dabei erhalten.
Beispiel
In diesem Beispiel wird die Google Drive API verwendet, um eine Präsentationsvorlage zu kopieren und eine neue Instanz der Präsentation zu erstellen. Dann wird mithilfe der Slides API jede Form mit dem Text {{company-logo}}
gesucht und durch ein Bild des Firmenlogos ersetzt. In der Anfrage wird außerdem 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 Bildinstanzen ersetzen
Die replaceAllText
- und replaceAllShapesWithImage
-Anfragen sind nützlich, um Tags in einer Präsentation zu 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. Löschen Sie zum Ersetzen von Text den vorhandenen Text in diesen Formen und fügen Sie dann den neuen Text ein (siehe Beispiel Text in einer bestimmten Form bearbeiten).
Das Ersetzen von Bildern ist komplexer. So fügen Sie ein Bild zusammen:
- Rufen Sie die ID der Tag-Form ab.
- Kopieren Sie die Informationen zur Größe und Transformation aus dem Tag.
- Fügen Sie der Seite Ihr Bild hinzu und verwenden Sie dabei die Angaben zu Größe und Umwandlung.
- Löschen Sie die Tag-Form.
Die Beibehaltung des Seitenverhältnisses des Bildes beim Skalieren auf die gewünschte Größe erfordert möglicherweise einige Sorgfalt. Dies wird 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, basieren diese nur auf der Bildgröße, nicht auf der Größe und den Transformationsdaten. Die von Ihnen in der createImage
-Anfrage angegebenen Größendaten entsprechen der gewünschten 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, können Sie das Seitenverhältnis des Bildes beibehalten, indem Sie Größe und Skalierung des Bildes so festlegen:
- width: Legen Sie das Produkt aus
width
undscaleX
des Tags fest. - height: Legen Sie als Wert das Produkt aus
height
undscaleY
des Tags fest. - scale_x: auf
1
gesetzt - scale_y: auf
1
gesetzt
Dadurch passt die Slides API das Bild an die visuelle Größe des Tags an und nicht an die nicht skalierte Größe (siehe Form-Tag durch ein Bild ersetzen).
Wenn Sie die Skalierungsparameter auf 1
festlegen, wird verhindert, dass das Bild zweimal skaliert wird.
Durch diese Anordnung wird sichergestellt, dass das Seitenverhältnis des Bildes erhalten bleibt und dass das Bild die Tag-Form nicht überschreitet. Das Bild hat denselben Mittelpunkt wie die Tag-Form.
Vorlagen verwalten
Vorlagenpräsentationen, die die Anwendung definiert und besitzt, erstellen Sie die Vorlage mithilfe eines speziellen Kontos, das die Anwendung darstellt. Dienstkonten sind eine gute Wahl, um Komplikationen mit 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 die Nutzer die volle Kontrolle über die resultierende Präsentation und vermeiden Skalierungsprobleme im Zusammenhang mit den Beschränkungen pro Nutzer in Google Drive.
Führen Sie mit den Anwendungsanmeldedaten die folgenden Schritte aus, um eine Vorlage mit einem Dienstkonto zu erstellen:
- Erstellen Sie mit presentations.create in der Slides API eine Präsentation.
- Aktualisieren Sie die Berechtigungen mit permissions.create in der Drive API, damit die Empfänger der Präsentation sie lesen können.
- Aktualisieren Sie die Berechtigungen, damit Vorlagenautoren mithilfe von permissions.create in der Drive API darin schreiben können.
- Bearbeiten Sie die Vorlage nach Bedarf.
Führen Sie mit den Nutzeranmeldedaten die folgenden Schritte aus, um eine Instanz der Präsentation zu erstellen:
- Erstellen Sie mithilfe von files.copy in der Drive API eine Kopie der Vorlage.
- Ersetzen Sie Werte mithilfe von presentation.batchUpdate in der Slides API.