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 para esto desde la URL o mediante una solicitud de lectura de la API.

Estos ejemplos se presentan como solicitudes HTTP para que tengan lenguaje 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.

Cómo copiar una diapositiva

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

La solicitud te permite especificar si algunos o todos los IDs 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). A todos los demás elementos de la copia se les asignan IDs aleatorios.

Para obtener más información sobre cómo copiar un elemento 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"
        }
      }
    }
  ]
}

Crea una diapositiva

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

La diapositiva nueva se configura para usar el 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 omitiendo 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 muestra 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. 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",
      }
    },
  ]
}

Cómo mover diapositivas a una posición nueva

En la siguiente muestra de código de presentations.batchUpdate, se muestra 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) se deben proporcionar en el orden de presentación existente, sin duplicados. El insertionIndex basado en cero indica dónde se deben insertar las diapositivas, según el orden anterior al traslado. El valor debe estar entre cero y la cantidad de diapositivas de la presentación inclusive.

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

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

Cómo establecer una imagen de fondo para una diapositiva

En la siguiente muestra de código de presentations.batchUpdate, se muestra 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 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 los mimeType y thumbnailSize que se muestran con el campo ThumbnailProperties como un 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"
}