Uma aplicação útil da API Google Slides é mesclar informações de um ou mais fontes de dados em um modelo de apresentação de slides.
Nesta página, descrevemos como extrair dados de uma fonte externa e inseri-lo em um modelo de apresentação já existente. O conceito é semelhante à de uma mala direta usando um processador de texto e uma planilha.
Essa abordagem é útil por vários motivos:
É fácil para os designers ajustar o design de uma apresentação usando editor do Apresentações Google. Isso é muito mais fácil do que ajustar parâmetros seu app para definir o design do slide renderizado.
Separar conteúdo da apresentação é um design bem conhecido princípio de privilégio mínimo com muitos benefícios.
Um roteiro básico
Veja um exemplo de como você pode usar a Slides API para mesclar dados em uma apresentação:
Crie sua apresentação como quiser que ela apareça usando conteúdo marcador de posição para ajudar você com o design.
Para cada elemento de conteúdo que você inserir, substitua o marcador de posição conteúdo com uma tag. Tags são caixas de texto ou formas com uma string exclusiva. Use strings que provavelmente não ocorrerão normalmente. Por exemplo:
{{account-holder-name}}
pode ser uma boa tag.No seu código, use a API Google Drive para fazer uma cópia do apresentação.
No seu código, use os atributos
batchUpdate
, com um conjunto dereplaceAllText
para fazer todas as substituições de texto durante a apresentação. UsarreplaceAllShapesWithImage
para substituir imagens ao longo da apresentação.
Depois de criar uma apresentação com tags, faça uma cópia e usar a API Slides para manipular a cópia. Não usar a API Slides para manipular seu "modelo" principal copiar!
As seções a seguir incluem snippets de código que ilustram alguns desses de desenvolvimento de software. Você também pode assistir ao vídeo acima para ver um exemplo completo (Python) combinando vários conceitos das seções individuais abaixo.
Mesclar texto
Você pode usar um replaceAllText
para substituir todas as ocorrências de uma determinada string de texto em uma
apresentação com texto novo. Para mesclagens, é mais simples do que
localizar e substituir cada instância de texto individualmente. Uma razão pela qual esta é a
mais sofisticada é que os IDs dos elementos de página são difíceis de prever,
especialmente quando os colaboradores refinam e mantêm o modelo
apresentação.
Exemplo
Este exemplo usa a API Drive para copiar um modelo de apresentação, tornando uma nova instância da apresentação. Em seguida, ele usa a API Google Sheets para ler os dados. de uma planilha do Planilhas e, por fim, usa a Slides API para atualizar o nova apresentação.
O exemplo usa dados de três células em uma linha de um intervalo nomeado na
planilha. Em seguida, ele substitui esses dados na apresentação sempre que
as strings {{customer-name}}
,
{{case-description}}
ou
{{total-portfolio}}
ocorrer.
Apps Script
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Mesclar imagens
Você também pode mesclar imagens na apresentação usando um
replaceAllShapesWithImage
solicitação. Essa solicitação substitui todas as instâncias de formas que contêm o
string de texto fornecida com a imagem fornecida. A solicitação automaticamente
posiciona e dimensiona a imagem para caber dentro dos limites da forma da tag enquanto
preservar a proporção da imagem.
Exemplo
Este exemplo usa a API Google Drive para copiar um modelo de apresentação, tornando
uma nova instância da apresentação. Em seguida, ele usa a API Slides para encontrar
qualquer forma com o texto {{company-logo}}
e substituí-lo pela imagem do logotipo da empresa. A solicitação também substitui qualquer
forma com o texto {{customer-graphic}}
com uma imagem diferente.
Apps Script
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Substituir a caixa de texto ou instâncias de imagem específicas
O replaceAllText
e replaceAllShapesWithImage
são úteis para substituir tags em uma apresentação, mas
às vezes você só precisa substituir os elementos de acordo com outros critérios, como
em um slide específico.
Nesses casos, você precisa recuperar os IDs das formas de tag que você que deseja substituir. Para substituições de texto, exclua o texto atual o texto dessas formas e, em seguida, inserir o novo texto (veja o exemplo editar o texto em uma forma especificada);
Substituir imagens é mais complexo. Para mesclar uma imagem, você precisa:
- Consiga o ID da forma com a tag.
- Copie as informações de tamanho e transformação da tag.
- Adicione a imagem à página usando as informações de tamanho e transformação.
- Exclua a forma da tag.
Preservar a proporção da imagem e dimensioná-la para o tamanho desejado pode precisam de cuidado, conforme descrito na próxima seção. Confira também este exemplo: Substitua uma tag de forma por uma imagem.
Preservar a proporção
Quando você cria imagens usando a Slides API, o ajuste da proporção se baseia apenas no
no tamanho da imagem, e não nos dados de tamanho e transformação. Os dados de tamanho que você fornecer
em createImage
é considerada o tamanho desejado da imagem. A API se encaixa
proporção da imagem para o tamanho desejado e, em seguida, aplica a transformação fornecida.
Ao substituir uma tag por uma imagem, você preserva o aspecto da imagem proporção, definindo o tamanho e o dimensionamento da imagem da seguinte forma:
- width: defina como o produto de
width
escaleX
da tag. - height: definido como o produto dos
height
escaleY
da tag. - scale_x: definida como
1
- scale_y: definido como
1
Isso faz com que a Slides API ajuste a aparência da imagem de acordo com o
tamanho visual da tag, em vez de seu tamanho não dimensionado (consulte
Substitua uma tag de forma por uma imagem.
Definir os parâmetros de escalonamento como 1
impede que a imagem seja dimensionada
duas vezes.
Essa organização garante que a proporção da imagem seja preservada e impede que a imagem exceda o tamanho da forma da tag. A imagem tem está no mesmo ponto central que o formato da tag.
Gerenciar modelos
Para apresentações de modelo que o aplicativo define e possui, crie o modelo usando uma conta dedicada que represente o aplicativo. Contas de serviço são uma boa opção e evita complicações com as políticas do Google Workspace que restringem compartilhamento.
Ao criar instâncias de apresentações a partir de modelos, sempre use credenciais de usuário final. Isso dá aos usuários controle total e evita problemas de dimensionamento por usuário limites no Google Drive.
Para criar um modelo usando uma conta de serviço, siga estas etapas com as credenciais do aplicativo:
- Crie uma apresentação usando presentations.create na API Slides.
- Atualize as permissões para permitir que os destinatários da apresentação a leiam usando o permissions.create na API Drive.
- Atualize as permissões para que os autores de modelos façam gravações nele usando permissions.create na API Drive.
- Edite o modelo conforme necessário.
Para criar uma instância da apresentação, siga estas etapas: com as credenciais do usuário:
- Crie uma cópia do modelo usando files.copy na API Drive.
- Substitua os valores usando presentation.batchUpdate na API Slides.