Mit der Google Slides API können Sie Präsentationselementen auf Präsentationsfolien hinzufügen und diese ändern. Die
Beispiele auf dieser Seite zeigen, wie Sie mit der
presentations.batchUpdate
Methode gängige Lesevorgänge ausführen.
In diesen Beispielen werden die folgenden Variablen verwendet:
- PRESENTATION_ID: Gibt an, wo Sie die Präsentations ID angeben. Sie finden den Wert für diese ID in der Präsentations-URL.
- PAGE_ID—Gibt an, wo Sie die Objekt-ID der Seite angeben. Sie können den Wert dafür aus der URL abrufen oder eine API-Leseanfrage verwenden.
- PAGE_ELEMENT_ID: Gibt an, wo Sie die Objekt-ID des Seiten elements angeben. Sie können diese ID für von Ihnen erstellte Elemente angeben (mit einigen Einschränkungen) oder die Slides API automatisch eine erstellen lassen. Element-IDs können über eine API-Leseanfrage abgerufen werden.
Diese Beispiele werden als HTTP-Anfragen dargestellt, um sprachneutral zu sein. Informationen zum Implementieren eines Batch-Updates in verschiedenen Sprachen mit den Google API-Clientbibliotheken finden Sie unter Formen und Text hinzufügen.
Einer Folie ein Textfeld hinzufügen
Das folgende
presentations.batchUpdate
-Codebeispiel zeigt, wie Sie mit der Methode
CreateShapeRequest
ein neues Textfeld mit dem String „My Added Text Box“ zu einer
Folie hinzufügen, die durch die PAGE_ID angegeben wird. Im Anfragetext werden zwei Anfragen angegeben: eine zum Erstellen der Textfeldform (mit einer bestimmten Größe und Position) und eine zweite zum Einfügen von Text.
In der ersten Anfrage wird die Objekt- ID für das Textfeld angegeben. So kann sie in der zweiten Anfrage im selben API-Aufruf verwendet werden, was den Aufwand reduziert.
Das folgende Anfrageprotokoll zeigt, wie Sie einer Folie ein Textfeld hinzufügen:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createShape": {
"objectId": PAGE_ELEMENT_ID,
"shapeType": "TEXT_BOX",
"elementProperties": {
"pageObjectId": PAGE_ID,
"size": {
"width": {
"magnitude": 150,
"unit": "PT"
},
"height": {
"magnitude": 50,
"unit": "PT"
}
},
"transform": {
"scaleX": 1,
"scaleY": 1,
"translateX": 200,
"translateY": 100,
"unit": "PT"
}
}
}
},
{
"insertText": {
"objectId": PAGE_ELEMENT_ID,
"text": "My Added Text Box",
"insertionIndex": 0
}
}
]
}Einer Folie ein Bild hinzufügen
Das folgende
presentations.batchUpdate
-Codebeispiel zeigt, wie Sie mit der Methode
CreateImageRequest
einer Folie, die durch die PAGE_ID angegeben wird, ein Bild hinzufügen. Die
API ruft das Bild über die IMAGE_URL ab. Mit dieser Anfrage wird das Bild auch auf der Folie skaliert und positioniert.
Das folgende Anfrageprotokoll zeigt, wie Sie einer Folie ein Bild hinzufügen:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createImage": {
"url": IMAGE_URL,
"elementProperties": {
"pageObjectId": PAGE_ID,
"size": {
"width": {
"magnitude": 30,
"unit": "PT"
},
"height": {
"magnitude": 30,
"unit": "PT"
}
},
"transform": {
"scaleX": 1,
"scaleY": 1,
"translateX": 200,
"translateY": 100,
"unit": "PT"
}
}
}
}
]
}Eine Seite oder ein Seitenelement löschen
Das folgende
presentations.batchUpdate
Codebeispiel zeigt, wie Sie mit der
DeleteObjectRequest
Methode das durch PAGE_ELEMENT_ID
angegebene Seitenelement und die durch PAGE_ID angegebene Folie mit zwei separaten Anfragen löschen.
Das folgende Anfrageprotokoll zeigt, wie Sie eine Seite oder ein Seitenelement löschen:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"deleteObject": {
"objectId": PAGE_ELEMENT_ID
},
"deleteObject": {
"objectId": PAGE_ID
}
}
]
}Text in einer bestimmten Form bearbeiten
Das folgende
presentations.batchUpdate
-Codebeispiel zeigt, wie Sie mit der Methode
DeleteTextRequest
einen Teil des Texts in der durch
PAGE_ELEMENT_IDangegebenen Form ersetzen. Dazu löschen Sie zuerst Text mit dem nullbasierten startIndex und fügen dann an dieser Position neuen Text ein. In diesem Beispiel wird der ursprüngliche Textstring „My Shape Text: ????" durch „My Shape Text: Trapezoid“ ersetzt.
Diese Anfrage wirkt sich nur auf Text in einer bestimmten Form aus. Wenn Sie Text überall
in einer Präsentation ersetzen möchten, verwenden Sie die
ReplaceAllTextRequest
Methode.
Das folgende Anfrageprotokoll zeigt, wie Sie Text in einer bestimmten Form bearbeiten:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteText": { "objectId": PAGE_ELEMENT_ID, "textRange": { "type": "FROM_START_INDEX", "startIndex": 15 } } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "Trapezoid", "insertionIndex": 15 } } ] }
Ein Form-Tag durch ein Bild ersetzen
Tags sind Textfelder oder Formen mit einem eindeutigen Stringnamen wie „account-holder-name“.
Das folgende
presentations.batchUpdate
Codebeispiel zeigt, wie Sie mit der
CreateImageRequest
Methode eine einzelne Instanz eines Form-Tags durch ein Bild ersetzen. Dabei wird die Position beibehalten und das Bild so skaliert, dass es an die Größe des Tags angepasst wird, während das Seitenverhältnis des Bilds beibehalten wird.
Die Anfrage kann auch verwendet werden, um ein Bild durch ein anderes zu ersetzen. Dazu wird das neue Bild hinzugefügt und dann das Tag gelöscht.
Die Methode CreateImageRequest ersetzt nur eine bestimmte Form. Wenn Sie Tag
Formen überall in einer Präsentation ersetzen möchten, verwenden Sie die
ReplaceAllShapesWithImageRequest
Methode.
Das Form-Tag hat die folgenden
PageElement
Attribute (die Sie mit einer
presentations.pages.get
Anfrage finden können):
{
"objectId": PAGE_ELEMENT_ID,
"size": {
"width": {
"magnitude": 3000000,
"unit": "EMU"
},
"height": {
"magnitude": 3000000,
"unit": "EMU"
}
},
"transform": {
"scaleX": 1.13,
"scaleY": 0.62,
"translateX": 4800000,
"translateY": 450000,
"unit": "EMU"
},
"shape": {
"shapeType": "RECTANGLE"
}
}Die Form befindet sich auf der Folie, die durch PAGE_ID angegeben wird. Um das Bild anzugeben,
das die Form ersetzt, ruft die API das Bild über die
IMAGE_URL ab. Damit das Seitenverhältnis des Bilds beibehalten wird, während es
auf die Größe des Tags beschränkt wird, legt die
CreateImageRequest
Methode sowohl die Bildgröße auf das Produkt aus Tag-Größe und Skalierung als auch
die Bildskalierungsfaktoren auf 1 fest. Weitere Informationen finden Sie unter Seitenverhältnis
beibehalten.
Das folgende Anfrageprotokoll zeigt, wie Sie ein Form-Tag durch ein Bild ersetzen:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createImage": {
"url": IMAGE_URL,
"elementProperties": {
"pageObjectId": PAGE_ID,
"size": {
"width": {
"magnitude": 3000000 * 1.13,
"unit": "EMU"
},
"height": {
"magnitude": 3000000 * 0.62,
"unit": "EMU"
}
},
"transform": {
"scaleX": 1,
"scaleY": 1,
"translateX": 4800000,
"translateY": 450000,
"unit": "PT"
}
}
}
},
{
"deleteObject": {
"objectId": PAGE_ELEMENT_ID
}
}
]
}