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 presentations.batchUpdate método.

En estos ejemplos, se usan las siguientes variables:

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

Estos ejemplos se presentan como solicitudes HTTP para que sean independientes del lenguaje. Para obtener información sobre cómo 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.

Copia una diapositiva

En el siguiente presentations.batchUpdate ejemplo de código, 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 los elementos 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 el COPY_TABLE_ELEMENT_ID) en la copia de la diapositiva (especificada por el 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 PageElement, incluidos cuadros de texto, imágenes, tablas, formas básicas, líneas y videos incorporados, consulta el ejemplo Copia y edita 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 el siguiente presentations.batchUpdate ejemplo de código, se muestra cómo usar el método CreateSlideRequest para crear una diapositiva y, luego, insertarla como la cuarta diapositiva (con el insertionIndex) en la presentación.

La nueva diapositiva está configurada para usar el PredefinedLayout de TITLE_AND_TWO_COLUMNS. Puedes especificar una cadena para usarla 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 el siguiente presentations.batchUpdate ejemplo de código, 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 usarla como PAGE_ID para la diapositiva (con algunas restricciones). El placeholderIdMappings usa el Type de TITLE. El 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",
      }
    },
  ]
}

Mueve diapositivas a una nueva posición

En el siguiente presentations.batchUpdate ejemplo de código, 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 diapositivas especificados (PAGE_ID y PAGE_ID2) deben proporcionarse 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 antes de que se realice el movimiento. 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 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 el siguiente presentations.batchUpdate ejemplo de código, se muestra cómo usar el método UpdatePagePropertiesRequest para establecer la imagen de fondo de una diapositiva especificada por el 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 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

Para generar una miniatura de la versión más reciente de una página específica de la presentación, llama al presentations.pages.getThumbnail método, 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 el thumbnailSize que se muestran con el ThumbnailProperties campo como parámetro de consulta.

El siguiente es el protocolo de solicitud para generar la miniatura de la página con el ThumbnailProperties establecido:

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