La API de Presentaciones de Google te permite agregar y modificar elementos en las páginas de presentación. En los
ejemplos de esta página, se muestra cómo realizar operaciones de lectura comunes con el
método presentations.batchUpdate
.
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: Indica dónde proporcionas el ID del objeto de página. Puedes recuperar el valor de esto desde la URL o mediante una solicitud de lectura de la API.
- PAGE_ELEMENT_ID: Indica dónde proporcionas el ID del objeto del elemento de página. Puedes especificar este ID para los elementos que crees (con algunas restricciones) o permitir que la API de Slides cree uno automáticamente. Los IDs de elementos se pueden recuperar a través de una solicitud de lectura de la API.
Estos ejemplos se presentan como solicitudes HTTP para que sean independientes del idioma. Para obtener información sobre cómo implementar una actualización por lotes en diferentes idiomas con las bibliotecas cliente de la API de Google, consulta Cómo agregar formas y texto.
Cómo agregar un cuadro de texto a una diapositiva
En la siguiente muestra de código presentations.batchUpdate
, se muestra cómo usar el método CreateShapeRequest
para agregar un cuadro de texto nuevo (que contiene la cadena "My Added Text Box") a una diapositiva especificada por PAGE_ID. En el cuerpo de la solicitud, se especifican dos solicitudes: una para crear la forma del cuadro de texto (con un tamaño y una ubicación determinados) y una segunda para insertar texto en él.
La primera solicitud especifica el ID del objeto que se usará para el cuadro de texto. Esto permite que la segunda solicitud lo use en la misma llamada a la API, lo que reduce la sobrecarga.
El siguiente es el protocolo de solicitud para agregar un cuadro de texto a una diapositiva:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createShape": { "objectId": PAGE_ELEMENT_ID, "shapeType": "TEXT_BOX", "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 150, "unit": "PT" }, "height": { "magnitude": 50, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 200, "translateY": 100, "unit": "PT" } } } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "My Added Text Box", "insertionIndex": 0 } } ] }
Cómo agregar una imagen a una diapositiva
En el siguiente ejemplo de código de presentations.batchUpdate
, se muestra cómo usar el método CreateImageRequest
para agregar una imagen a una diapositiva especificada por PAGE_ID. La API recupera la imagen con IMAGE_URL. Esta solicitud también escala y posiciona la imagen en la diapositiva.
El siguiente es el protocolo de solicitud para agregar una imagen a una diapositiva:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createImage": { "url": IMAGE_URL, "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 30, "unit": "PT" }, "height": { "magnitude": 30, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 200, "translateY": 100, "unit": "PT" } } } } ] }
Cómo borrar una página o un elemento de página
En la siguiente
muestra de código presentations.batchUpdate
,
se muestra cómo usar el
método DeleteObjectRequest
para borrar el elemento de página que especifica PAGE_ELEMENT_ID
y la diapositiva que especifica PAGE_ID con dos solicitudes separadas.
El siguiente es el protocolo de solicitud para borrar una página o un elemento de página:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteObject": { "objectId": PAGE_ELEMENT_ID }, "deleteObject": { "objectId": PAGE_ID } } ] }
Cómo editar texto en una forma especificada
En la siguiente muestra de código de presentations.batchUpdate
, se muestra cómo usar el método DeleteTextRequest
para reemplazar una parte del texto presente en la forma especificada por PAGE_ELEMENT_ID. Para lograrlo, primero borra el texto con startIndex
basado en cero y, luego, inserta texto nuevo en esa posición. En este ejemplo, la cadena de texto original "My Shape Text: ????" se reemplaza por "My Shape Text: Trapezoid".
Esta solicitud solo afecta al texto con una forma especificada. Para reemplazar el texto en todas partes de una presentación, usa el método ReplaceAllTextRequest
.
El siguiente es el protocolo de solicitud para editar texto en una forma especificada:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteText": { "objectId": PAGE_ELEMENT_ID, "textRange": { "type": "FROM_START_INDEX", "startIndex": 15 } } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "Trapezoid", "insertionIndex": 15 } } ] }
Cómo reemplazar una etiqueta de forma por una imagen
Las etiquetas son cuadros de texto o formas con un nombre de cadena único, como "nombre-del-titular-de-la-cuenta".
En la siguiente muestra de código de presentations.batchUpdate
, se muestra cómo usar el método CreateImageRequest
para reemplazar una sola instancia de una etiqueta de forma con una imagen, manteniendo la misma posición y escalando para que se ajuste al tamaño de la etiqueta y, al mismo tiempo, mantener la relación de aspecto de la imagen.
La solicitud también se puede usar para reemplazar una imagen por otra. La solicitud consiste en agregar la imagen nueva y, luego, borrar la etiqueta.
El método CreateImageRequest
solo reemplaza una forma especificada. Para reemplazar las formas de etiqueta en todas partes de una presentación, usa un método ReplaceAllShapesWithImageRequest
.
La etiqueta de forma tiene las siguientes propiedades PageElement
(que se pueden encontrar con una solicitud presentations.pages.get
):
{ "objectId": PAGE_ELEMENT_ID, "size": { "width": { "magnitude": 3000000, "unit": "EMU" }, "height": { "magnitude": 3000000, "unit": "EMU" } }, "transform": { "scaleX": 1.13, "scaleY": 0.62, "translateX": 4800000, "translateY": 450000, "unit": "EMU" }, "shape": { "shapeType": "RECTANGLE" } }
La forma reside en la diapositiva especificada por PAGE_ID. Para especificar la imagen que reemplaza la forma, la API la recupera con IMAGE_URL. Para preservar la relación de aspecto de la imagen y, al mismo tiempo, limitarla al tamaño de la etiqueta, el método CreateImageRequest
establece el tamaño de la imagen en el producto del tamaño y la escala de la etiqueta, y los factores de escala de la imagen en 1
. Para obtener más información, consulta Cómo preservar la relación de aspecto.
El siguiente es el protocolo de solicitud para reemplazar una etiqueta de forma por una imagen:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createImage": { "url": IMAGE_URL, "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 3000000 * 1.13, "unit": "EMU" }, "height": { "magnitude": 3000000 * 0.62, "unit": "EMU" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 4800000, "translateY": 450000, "unit": "PT" } } } }, { "deleteObject": { "objectId": PAGE_ELEMENT_ID } } ] }