Escritura básica

La API de Presentaciones de Google te permite agregar y modificar elementos en páginas de presentación. El los ejemplos de esta página muestran cómo realizar operaciones comunes de lectura con el presentations.batchUpdate .

En estos ejemplos, se usan las siguientes variables:

  • PRESENTATION_ID: Indica dónde proporcionas la presentación correcto. Puedes descubrirá el valor para este ID desde la URL de presentación.
  • PAGE_ID: Indica dónde se proporciona el objeto de página. correcto. Puedes recuperar el valor para esto desde la URL o mediante una solicitud de lectura de la API.
  • PAGE_ELEMENT_ID: Indica dónde proporcionas la página. Elemento ID de objeto. Tú puedes especificar este ID para los elementos que creas (con algunos restricciones de uso) o permitir que la API de Presentaciones cree uno automáticamente. IDs de elementos se puede recuperar a través de una solicitud de lectura de API.

Estos ejemplos se presentan como solicitudes HTTP para que no tengan idioma. Para aprender cómo implementar una actualización por lotes en diferentes idiomas con la API de Google bibliotecas cliente, consulta Cómo agregar formas y texto.

Cómo agregar un cuadro de texto a una diapositiva

Lo siguiente presentations.batchUpdate de muestra de código muestra cómo usar el CreateShapeRequest para agregar un nuevo cuadro de texto (que contiene la cadena "My Added Text Box") a un diapositiva especificada por la PAGE_ID. Se especifican dos solicitudes en el cuerpo de la solicitud; una para crear la forma de cuadro de texto (con un tamaño y ubicación) y un segundo para insertar texto.

La primera solicitud especifica el objeto ID que se usará para en el cuadro de texto. Esto permite que la segunda solicitud los 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

Lo siguiente presentations.batchUpdate de muestra de código muestra cómo usar el CreateImageRequest para agregar una imagen a una diapositiva especificada por el PAGE_ID. El La API recupera la imagen con el 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

Lo siguiente presentations.batchUpdate de muestra de código muestra cómo usar el DeleteObjectRequest método para borrar el elemento de página especificado por PAGE_ELEMENT_ID y la diapositiva especificada por 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

Lo siguiente presentations.batchUpdate de muestra de código muestra cómo usar el DeleteTextRequest para reemplazar una parte del texto presente en la forma especificada por PAGE_ELEMENT_ID Para lograrlo, primero borra texto usando el 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 "Mi Shape Text: Trapezoid”.

Esta solicitud solo afecta al texto en una forma especificada. Para reemplazar texto en todas partes dentro de una presentación, usa el 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-titular-de-la-cuenta”.

Lo siguiente presentations.batchUpdate de muestra de código muestra cómo usar el CreateImageRequest para reemplazar una sola instancia de una etiqueta de forma por una imagen, lo que mantiene la misma posición y ajustándola para que se ajuste al tamaño de la etiqueta y, al mismo tiempo, mantener la relación de aspecto.

La solicitud también se puede utilizar 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 la etiqueta formas en todas partes dentro de una presentación, usa un ReplaceAllShapesWithImageRequest .

La etiqueta de forma tiene lo siguiente: PageElement propiedades (que se pueden encontrar usando un presentations.pages.get solicitud):

{
  "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 recupera la imagen usando el IMAGE_URL Para conservar la relación de aspecto de la imagen mientras se limita del tamaño de la etiqueta, CreateImageRequest establece el tamaño de la imagen según el producto del tamaño y la escala de la etiqueta los factores de escala de la imagen a 1. Para obtener más información, consulta Conservar aspecto relación de aspecto.

A continuación, se incluye 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
      }
    }
  ]
}