借助 Google Sheets API,您可以在演示文稿页面上添加和修改元素。通过
本页中的示例展示了如何使用
presentations.batchUpdate
方法。
这些示例使用以下变量:
- PRESENTATION_ID - 表示您在哪里提供 演示文稿 ID。您可以 从演示文稿网址中发现此 ID 的值。
- PAGE_ID - 表示您提供 page 对象的位置 ID。您可以使用 从网址或使用 API 读取请求获取此值。
- PAGE_ELEMENT_ID - 表示您提供网页的位置 元素对象 ID。您 您可以为您创建的元素指定此 ID(一些 限制) 也可以让幻灯片 API 自动创建一个元素 ID 可以通过 API 读取请求进行检索。
这些示例以 HTTP 请求的形式呈现,与语言无关。学习内容 如何使用 Google API 实现不同语言的批量更新 请参阅添加形状和 文本。
在幻灯片中添加文本框
以下
presentations.batchUpdate
代码示例展示了如何使用
CreateShapeRequest
方法将新文本框(包含字符串“我添加的文本框”)添加到
PAGE_ID 指定的幻灯片。在
请求正文 - 用于创建文本框形状(具有给定大小和
位置),然后在其中插入文本。
第一个请求指定对象 ID 文本框。这样,第二个请求就可以在同一个 API 调用中使用此 ID,从而减少 开销。
以下是向幻灯片添加文本框的请求协议:
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 } } ] }
在幻灯片中添加图片
以下
presentations.batchUpdate
代码示例展示了如何使用
CreateImageRequest
方法,用于向 PAGE_ID 指定的幻灯片添加图片。通过
API 使用 IMAGE_URL 检索图片。此请求还
缩放并定位幻灯片中的图片。
以下是将图片添加到幻灯片的请求协议:
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" } } } } ] }
删除页面或页面元素
以下
presentations.batchUpdate
代码示例展示了如何使用
DeleteObjectRequest
用于删除 PAGE_ELEMENT_ID 指定的页面元素的方法
以及 PAGE_ID 使用两个单独的请求指定的幻灯片。
以下是删除页面或页面元素的请求协议:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteObject": { "objectId": PAGE_ELEMENT_ID }, "deleteObject": { "objectId": PAGE_ID } } ] }
编辑指定形状中的文本
以下
presentations.batchUpdate
代码示例展示了如何使用
DeleteTextRequest
方法替换由
PAGE_ELEMENT_ID。为此,请先使用
从零开始的 startIndex
,然后在该位置插入新文本。在本课中,
原始文本字符串“My Shape Text: ????”将替换为“我的
“Shape Text: Trapezoid”(形状文字:梯形)。
此请求仅影响指定形状中的文本。替换所有位置的文字
使用
ReplaceAllTextRequest
方法。
以下是编辑指定形状中的文本的请求协议:
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 } } ] }
将形状标记替换为图片
标记是具有唯一字符串名称的文本框或形状,例如 “account-holder-name”。
以下
presentations.batchUpdate
代码示例展示了如何使用
CreateImageRequest
方法将形状标记的单个实例替换为图片,同时保持
图片的位置不变并对其进行缩放以适应代码的尺寸,同时保持图片的
宽高比。
此请求还可用于将一张图片替换为另一图片。请求 先添加新映像,然后删除标记。
CreateImageRequest
方法仅替换指定的形状。替换标记
在演示文稿的任何位置使用形状
ReplaceAllShapesWithImageRequest
方法。
该形状标记包含以下内容:
PageElement
属性(可使用
presentations.pages.get
请求):
{ "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" } }
形状位于 PAGE_ID 指定的幻灯片上。要指定
替换该形状的图像时,该 API 会使用
IMAGE_URL。在限制图片宽高比的同时保持图片宽高比
代码的大小,
CreateImageRequest
方法将图片尺寸设置为代码尺寸和缩放比例的乘积,
将图片缩放比例设为 1
。如需了解详情,请参阅保留切面
宽高比。
以下是将形状标记替换为图片的请求协议:
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 } } ] }