Redação básica

A API Google Slides permite adicionar e modificar elementos nas páginas de uma apresentação. A nesta página mostram como executar operações de leitura comuns usando a presentations.batchUpdate .

Esses exemplos usam as seguintes variáveis:

  • PRESENTATION_ID: indica onde você fornece apresentação ID. Você pode descobrir o valor desse ID no URL da apresentação.
  • PAGE_ID: indica onde você fornece o objeto de página ID. Você pode recuperar o valor dele no URL ou usando uma solicitação de leitura da API.
  • PAGE_ELEMENT_ID: indica onde você fornece a página ID de objeto do elemento. Você você pode especificar esse ID para os elementos que criar (com alguns restrições). ou permitir que a API Slides crie um automaticamente. IDs de elementos podem ser recuperados por meio de uma solicitação de leitura da API.

Esses exemplos são apresentados como solicitações HTTP para serem neutros em relação à linguagem. Para saber como implementar uma atualização em lote em idiomas diferentes usando a API do Google bibliotecas de clientes, consulte Adicionar formas e ou texto.

Adicionar uma caixa de texto a um slide

O seguinte presentations.batchUpdate um exemplo de código mostra como usar a CreateShapeRequest para adicionar uma nova caixa de texto (contendo a string "Minha caixa de texto adicionada") a um slide especificado por PAGE_ID. São especificadas duas solicitações do corpo da solicitação, um para criar a forma da caixa de texto (com um determinado tamanho e e outro para inserir texto.

A primeira solicitação especifica o objeto ID a ser usado para na caixa de texto. Isso permite que a segunda solicitação o use na mesma chamada de API, reduzindo sobrecarga.

Veja a seguir o protocolo de solicitação para adicionar uma caixa de texto a um slide:

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

Adicionar uma imagem a um slide

O seguinte presentations.batchUpdate um exemplo de código mostra como usar a CreateImageRequest para adicionar uma imagem a um slide especificado por PAGE_ID. A A API recupera a imagem usando o IMAGE_URL. Essa solicitação também dimensiona e posiciona a imagem no slide.

Confira a seguir o protocolo de solicitação para adicionar uma imagem a um slide:

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

Excluir uma página ou um elemento de página

O seguinte presentations.batchUpdate um exemplo de código mostra como usar a DeleteObjectRequest para excluir o elemento de página especificado por PAGE_ELEMENT_ID e o slide especificado por PAGE_ID usando duas solicitações separadas.

Confira a seguir o protocolo de solicitação para excluir uma página ou um elemento de página:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "deleteObject": {
        "objectId": PAGE_ELEMENT_ID
      },
      "deleteObject": {
        "objectId":  PAGE_ID
      }
    }
  ]
}

Editar texto em uma forma especificada

O seguinte presentations.batchUpdate um exemplo de código mostra como usar a DeleteTextRequest para substituir uma parte do texto presente na forma especificada por PAGE_ELEMENT_ID. Para fazer isso, primeiro exclua o texto usando a startIndex baseada em zero e, em seguida, inserir o novo texto nessa posição. Neste exemplo, a string de texto original "My Shape Text: ????" é substituída por "Meu texto da forma: trapézio".

Esta solicitação afeta apenas o texto em uma forma especificada. Para substituir o texto em todos os lugares em uma apresentação, use o ReplaceAllTextRequest .

Veja a seguir o protocolo de solicitação para editar texto em uma 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
      }
    }
  ]
}

Substituir uma tag de forma por uma imagem

Tags são caixas de texto ou formas com um nome de string exclusivo, como "nome do titular da conta".

O seguinte presentations.batchUpdate um exemplo de código mostra como usar a CreateImageRequest para substituir uma única instância de uma tag de forma por uma imagem, mantendo na mesma posição e dimensioná-la para se ajustar ao tamanho da tag, mantendo o estilo proporção.

A solicitação também pode ser usada para substituir uma imagem por outra. A solicitação consiste em adicionar a nova imagem e depois excluir a tag.

O método CreateImageRequest substitui apenas a forma especificada. Para substituir a tag formas em todos os lugares dentro de uma apresentação, use um ReplaceAllShapesWithImageRequest .

A tag de forma tem o seguinte PageElement propriedades (que podem ser encontradas usando uma presentations.pages.get solicitação):

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

A forma está no slide especificado por PAGE_ID. Para especificar a imagem que substitui a forma, a API recupera a imagem usando o IMAGE_URL: Para preservar a proporção da imagem e, ao mesmo tempo, limitá-la com o tamanho da tag, CreateImageRequest define o tamanho da imagem como o produto do tamanho e escala da tag, e os fatores de escala da imagem para 1. Para mais informações, consulte Preservar aspecto proporção.

Veja a seguir o protocolo de solicitação para substituir uma tag de forma por uma imagem:

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