您可以使用 Google 簡報 API,在簡報頁面中新增及修改元素。本頁的範例說明如何使用 presentations.batchUpdate 方法執行常見的讀取作業。
這些範例使用下列變數:
- PRESENTATION_ID:指出您提供簡報 ID 的位置。您可以從簡報網址找出這個 ID 的值。
- PAGE_ID:指出您提供網頁物件 ID 的位置。您可以從網址或使用 API 讀取要求,擷取這個值。
- PAGE_ELEMENT_ID:表示您提供頁面元素物件 ID 的位置。您可以為建立的元素指定這個 ID (但有部分限制),也可以讓 Google 簡報 API 自動建立 ID。元素 ID 可透過 API 讀取要求擷取。
這些範例以 HTTP 要求的形式呈現,不限於特定語言。如要瞭解如何使用 Google API 用戶端程式庫,以不同語言實作批次更新,請參閱「新增圖案和文字」。
在投影片中新增文字方塊
下列
presentations.batchUpdate
程式碼範例說明如何使用 CreateShapeRequest
方法,將新的文字方塊 (內含「My Added Text Box」字串) 新增至 PAGE_ID 指定的投影片。要求主體中指定了兩項要求:一項是建立文字方塊圖案 (具有指定大小和位置),另一項是將文字插入其中。
第一個要求指定要用於文字方塊的物件 ID。這樣一來,第二項要求就能在同一個 API 呼叫中使用該值,減少額外負荷。
以下是在投影片中新增文字方塊的要求通訊協定:
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: ????」會取代為「My 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」。
下列程式碼範例說明如何使用 CreateImageRequest 方法,將單一形狀標記例項換成圖片,同時維持相同位置並縮放圖片以符合標記大小,且保留圖片的長寬比。presentations.batchUpdate
這項要求也可以用來替換圖片。要求包含新增映像檔,然後刪除標記。
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
}
}
]
}