投影片作業

Google 簡報 API 可讓您建立、移動及刪除簡報。本頁的範例會說明使用 presentations.batchUpdate 方法的常見投影片操作。

這些範例使用下列變數:

  • PRESENTATION_ID:指出您提供簡報 ID的位置。您可以從簡報網址中找出這個 ID 的值。
  • PAGE_IDPAGE_ID2:表示您提供網頁物件 ID的位置。您可以從網址或透過 API 讀取要求擷取此值。

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

複製投影片

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

您可以透過這項要求,指定部分或所有網頁元素 ID 應包含在副本中 (並附帶一些限制)。在這個範例中,原始投影片含有資料表元素 (由 TABLE_ELEMENT_ID 指定),並在投影片副本 (由 COPY_PAGE_ID 指定) 中對應至新資料表 (由 COPY_TABLE_ELEMENT_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),且不得重複。以 0 為基底的 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"
}