Операции со слайдами

The Google Slides API lets you create, move, and delete slides. The examples on this page show some common slide operations using the presentations.batchUpdate method.

В этих примерах используются следующие переменные:

  • PRESENTATION_ID — указывает, где вы указываете идентификатор презентации . Значение этого идентификатора можно узнать из URL-адреса презентации.
  • PAGE_ID и PAGE_ID2 — указывают, где вы предоставляете идентификаторы объектов страниц . Вы можете получить значение из URL-адреса или с помощью запроса на чтение через API.

Эти примеры представлены в виде HTTP-запросов, чтобы обеспечить языковую нейтральность. Чтобы узнать, как реализовать пакетное обновление на разных языках с помощью клиентских библиотек Google API, см. следующие руководства: Создание слайда и Добавление фигур и текста .

Скопировать слайд

Приведенный ниже пример кода presentations.batchUpdate демонстрирует, как использовать метод DuplicateObjectRequest для копирования слайда и вставки его после оригинала в презентацию. Оригинальный слайд указывается с помощью PAGE_ID .

The request lets you specify if some or all of the page element IDs should be in the copy (with some restrictions ). In this example, the original slide contains a table element (specified by the TABLE_ELEMENT_ID ), that's mapped to a new table (specified by the COPY_TABLE_ELEMENT_ID ) in the slide copy (specified by the COPY_PAGE_ID ). All other elements on the copy are given random IDs.

Для получения дополнительной информации о копировании 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 начинающегося с нуля) в презентацию.

Для нового слайда задан PredefinedLayout макет TITLE_AND_TWO_COLUMNS . Вы можете указать строку, которая будет использоваться в качестве 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 для создания слайда с использованием PredefinedLayout типа TITLE_AND_TWO_COLUMNS .

Вы можете указать строку, которая будет использоваться в качестве PAGE_ID для слайда (с некоторыми ограничениями ). Параметр placeholderIdMappings использует Type TITLE . TITLE_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 для перемещения двух указанных слайдов в начало презентации с сохранением их относительного порядка.

Указанные идентификаторы слайдов ( PAGE_ID и PAGE_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 , который возвращает миниатюрное изображение страницы в виде URL-адреса содержимого. Срок действия URL-адреса изображения по умолчанию составляет 30 минут.

Также можно указать возвращаемые значения mimeType и thumbnailSize , используя поле ThumbnailProperties в качестве параметра запроса.

Ниже представлен протокол запроса для генерации миниатюры страницы с заданными параметрами 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"
}