投影片作業

您可以透過 GoogleSlide API 建立、移動及刪除投影片。本頁的範例說明如何使用 presentations.batchUpdate 方法進行一些常見的投影片作業。

這些範例使用下列變數:

  • PRESENTATION_ID:代表您在何處提供呈現 ID。您可以從簡報網址發掘這個 ID 的值。
  • PAGE_IDPAGE_ID2:代表您在何處提供頁面物件 ID。您可以透過網址或使用 API 讀取要求擷取此值。

這些範例是以 HTTP 要求形式呈現為中立語言。如要瞭解如何使用 Google API 用戶端程式庫以不同語言實作批次更新,請參閱下列指南:「建立投影片」和「新增形狀和文字」。

複製投影片

以下 presentations.batchUpdate 程式碼範例說明如何使用 DuplicateObjectRequest 方法複製投影片,並在原始簡報後插入投影片。原始投影片由 PAGE_ID 指定。

透過要求,您可以指定是否應在副本中納入部分或所有的頁面元素 ID (須設有一些限制)。在這個範例中,原始投影片包含由 TABLE_ELEMENT_ID 指定的資料表元素 (由 TABLE_ELEMENT_ID 指定),與投影片文案中的新資料表 (由 COPY_TABLE_ELEMENT_ID 指定) 對應 (由 COPY_PAGE_ID 指定)。副本上的所有其他元素都會有隨機 ID。

如要進一步瞭解如何複製 PageElement (包括文字方塊、圖片、表格、基本形狀、線條和嵌入影片),請參閱「複製及編輯元素」範例。

以下是複製投影片的要求通訊協定:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "duplicateObject": {
        "objectId": PAGE_ID,
        "objectIds": {
          "PAGE_ID": "COPY_PAGE_ID",
          "TABLE_ELEMENT_ID": "COPY_TABLE_ELEMENT_ID"
        }
      }
    }
  ]
}

製作投影片

以下 presentations.batchUpdate 程式碼範例說明如何使用 CreateSlideRequest 建立投影片,並將其插入為簡報中的第四張投影片 (使用以零為基礎的 insertionIndex)。

新投影片設定為使用 TITLE_AND_TWO_COLUMNSPredefinedLayout。您可以指定一個字串做為投影片的 PAGE_ID (設有部分限制),也可以省略要求中的欄位,讓 API 產生 PAGE_ID

以下是建立投影片的要求通訊協定:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createSlide": {
        "objectId": "PAGE_ID",
        "insertionIndex": 3,
        "slideLayoutReference": {
          "predefinedLayout": "TITLE_AND_TWO_COLUMNS"
        }
      }
    }
  ]
}

建立投影片及修改預留位置

以下 presentations.batchUpdate 程式碼範例說明如何使用 CreateSlideRequest 方法,使用 TITLE_AND_TWO_COLUMNSPredefinedLayout 建立投影片。

您可以指定一個字串做為投影片的 PAGE_ID 使用 (但有部分限制)。placeholderIdMappings 使用 TITLETypeTITLE_ID 會參照投影片的預留位置形狀,以便進行編輯。

以下是建立投影片及修改預留位置的要求通訊協定:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createSlide": {
        "objectId": PAGE_ID,
        "slideLayoutReference": {
          "predefinedLayout": "TITLE_AND_TWO_COLUMNS"
        },
        "placeholderIdMappings": [
          {
            "layoutPlaceholder": {
              "type": "TITLE",
              "index": 0
            },
            "objectId": TITLE_ID,
           },
        ],
      }
    },
    {
      "insertText": {
        "objectId": TITLE_ID,
        "text": "This is my slide title",
      }
    },
  ]
}

將投影片移至新位置

以下 presentations.batchUpdate 程式碼範例說明如何使用 UpdateSlidesPositionRequest 方法擷取兩張指定的投影片,並將這些投影片移到簡報的開頭,以維持其相對順序。

指定的投影片 ID (PAGE_IDPAGE_ID2) 必須在現有的簡報順序中提供,不得重複。從零開始的 insertionIndex 表示根據移動發生前的順序,插入投影片的位置。這個值必須介於簡報的零與簡報的投影片數量 (含首尾)。

以下是將投影片移至新位置的要求通訊協定:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateSlidesPosition": {
        "slideObjectIds": [
          PAGE_ID,
          PAGE_ID2
          ],
        "insertionIndex": 0
      }
    }
  ]
}

設定投影片背景圖片

以下 presentations.batchUpdate 程式碼範例說明如何使用 UpdatePagePropertiesRequest 方法,設定 PAGE_ID 指定的投影片背景圖片。API 會使用 IMAGE_URL 擷取圖片。

「欄位遮罩」可用來指定只應變更投影片背景,以保留其他屬性。使用欄位遮罩也能提升效能。

或者,UpdatePagePropertiesRequest 方法也可以將投影片的背景設為單色。

以下是設定投影片背景圖片的要求通訊協定:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updatePageProperties": {
        "objectId": PAGE_ID,
        "pageProperties": {
          "pageBackgroundFill": {
            "stretchedPictureFill": {
              "contentUrl": IMAGE_URL
            }
          }
        },
        "fields": "pageBackgroundFill"
      }
    }
  ]
}

產生縮圖

您可以呼叫 presentations.pages.getThumbnail 方法,以內容網址的形式傳回網頁的縮圖圖片,藉此產生簡報中特定頁面的最新版本縮圖。圖片網址的預設生命週期為 30 分鐘。

您也可以使用 ThumbnailProperties 欄位做為查詢參數,指定傳回的 mimeTypethumbnailSize

以下是使用 ThumbnailProperties 設定時產生頁面縮圖的要求通訊協定:

 GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID/pages/PAGE_ID/thumbnail?thumbnailProperties.mimeType=PNG&thumbnailProperties.thumbnailSize=MEDIUM
{
  "width": 800,
  "height": 450,
  "contentUrl": "CONTENT_URL"
}