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 para este ID desde la URL de presentación.
  • PAGE_ID y PAGE_ID2: Indica 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 no tengan idioma. Si quieres 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: Crea una diapositiva y Agrega formas y texto.

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 del original en la presentación. La diapositiva original se especifica mediante PAGE_ID.

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

Para obtener más información sobre cómo copiar una PageElement, incluidos los cuadros de texto, las imágenes, las tablas, las formas básicas, las líneas y los 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 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 el PredefinedLayout de TITLE_AND_TWO_COLUMNS. Puedes especificar una cadena para usar como PAGE_ID de 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 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. El elemento TITLE_ID hace referencia a la forma del marcador de posición de la diapositiva, por lo que se puede 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 diapositivas a una posición nueva

En la siguiente muestra de código de 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. La insertionIndex basada en cero denota dónde se deben insertar las diapositivas, en función del orden en que se realiza 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 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
      }
    }
  ]
}

Cómo establecer una imagen de fondo para las diapositivas

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 conservar las demás 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 mimeType y 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 ThumbnailProperties configurado:

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