Operaciones con diapositivas

La API de Presentaciones de Google te permite crear, mover y borrar diapositivas. En los ejemplos de esta página, se muestran algunas operaciones comunes de diapositivas con el método presentations.batchUpdate.

En estos ejemplos, se usan las siguientes variables:

  • PRESENTATION_ID: Indica dónde proporcionas el ID de presentación. Puedes descubrir el valor de este ID desde la URL de presentación.
  • PAGE_ID y PAGE_ID2: Indican dónde proporcionas los IDs de objeto de página. Puedes recuperar el valor de esto desde la URL o mediante una solicitud de lectura a la API.

Estos ejemplos se presentan como solicitudes HTTP para que el lenguaje no sea neutral. Para aprender a implementar una actualización por lotes en diferentes lenguajes con las bibliotecas cliente de la API de Google, consulta las siguientes guías: Cómo crear una diapositiva y Cómo agregar formas y texto.

Copiar una diapositiva

En la siguiente muestra de código presentations.batchUpdate, se indica cómo usar el método DuplicateObjectRequest para copiar una diapositiva y, luego, insertarla después del original en la presentación. La diapositiva original se especifica con PAGE_ID.

La solicitud te permite especificar si algunos o todos los ID de elementos de página deben estar en la copia (con algunas restricciones). En este ejemplo, la diapositiva original contiene un elemento de tabla (especificado por TABLE_ELEMENT_ID), que se asigna a una tabla nueva (especificada por COPY_TABLE_ELEMENT_ID) en la copia de la diapositiva (especificada por COPY_PAGE_ID). Todos los demás elementos de la copia reciben ID aleatorios.

Para obtener más información sobre cómo copiar un PageElement, incluidos cuadros de texto, imágenes, tablas, formas básicas, líneas y videos incorporados, consulta el ejemplo Cómo copiar y editar un elemento.

El siguiente es el protocolo de solicitud para copiar una diapositiva:

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"
        }
      }
    }
  ]
}

Crear una diapositiva

En la siguiente muestra de código de presentations.batchUpdate, se indica cómo usar el método CreateSlideRequest para crear una diapositiva y, luego, insertarla como la cuarta diapositiva (con el insertionIndex basado en cero) en la presentación.

La diapositiva nueva está configurada para usar PredefinedLayout de TITLE_AND_TWO_COLUMNS. Puedes especificar una cadena para usar como PAGE_ID para la diapositiva (con algunas restricciones) o permitir que la API genere el PAGE_ID si omites el campo en la solicitud.

El siguiente es el protocolo de solicitud para crear una diapositiva:

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

Crea una diapositiva y modifica los marcadores de posición

En la siguiente muestra de código de presentations.batchUpdate, se indica cómo usar el método CreateSlideRequest para crear una diapositiva con el PredefinedLayout de TITLE_AND_TWO_COLUMNS.

Puedes especificar una cadena para usar como PAGE_ID para la diapositiva (con algunas restricciones). El placeholderIdMappings usa el Type de TITLE. El elemento TITLE_ID hace referencia a la forma del marcador de posición de la diapositiva para que se pueda modificar.

El siguiente es el protocolo de solicitud para crear una diapositiva y modificar los marcadores de posición:

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",
      }
    },
  ]
}

Mover las diapositivas a una nueva posición

En la siguiente muestra de código presentations.batchUpdate, se indica cómo usar el método UpdateSlidesPositionRequest para tomar las dos diapositivas especificadas y moverlas al comienzo de la presentación manteniendo su orden relativo.

Los IDs de diapositiva especificados (PAGE_ID y PAGE_ID2) deben proporcionarse en el orden de presentación existente, sin duplicados. El insertionIndex basado en cero denota dónde se deben insertar las diapositivas, según el orden antes de que se produzca el movimiento. El valor debe estar entre cero y el número de diapositivas de la presentación, inclusive.

El siguiente es el protocolo de solicitud para mover las diapositivas a una nueva posición:

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

Establece una imagen de fondo de diapositiva

En la siguiente muestra de código de presentations.batchUpdate, se indica cómo usar el método UpdatePagePropertiesRequest para establecer la imagen de fondo de una diapositiva especificada por PAGE_ID. La API recupera la imagen con el IMAGE_URL.

Se usa una máscara de campo para especificar que solo se debe cambiar el fondo de la diapositiva para preservar las otras propiedades. El uso de máscaras de campo también mejora el rendimiento.

Como alternativa, se puede usar un método UpdatePagePropertiesRequest para establecer el fondo de una diapositiva en un color sólido.

El siguiente es el protocolo de solicitud para establecer una imagen de fondo de diapositiva:

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

Generar miniatura

Puedes generar una miniatura de la versión más reciente de una página específica en la presentación llamando al método presentations.pages.getThumbnail, que muestra una imagen en miniatura de la página como una URL de contenido. La URL de la imagen tiene una vida útil predeterminada de 30 minutos.

También puedes especificar el mimeType y la thumbnailSize que se muestran con el campo ThumbnailProperties como parámetro de consulta.

El siguiente es el protocolo de solicitud para generar la miniatura de la página con el conjunto 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"
}