Tempo de leitura:
Neste artigo vou mostrar-te como podes ter um ecrã com informação para preencher, e transferir essa informação para um documento de Word e gerar um PDF.
Neste cenário vamos utilizar várias ferramentas do Office 365, nomeadamente do Power Platform para poderes confirmar o potencial enorme que existe de compatibilidade e colaboração entre as várias aplicações.
Para o cenário vou utilizar um exemplo de base usado num artigo anterior sobre a função Patch, significando que a estrutura da aplicação já está montada, e vamos focar-nos apenas na integração com o Power Automate.
Cenário atual
No cenário atual temos então uma App com o seguinte ecrã que foi utilizado no tutorial sobre a função Patch. Contudo agora o objetivo não é adicionar dados a uma base de dados, mas sim utilizar os dados para preencher um documento de Word, e terminar com um documento novo em PDF.

Para o efeito vamos ter um novo botão, que ao pressionar (OnSelect) vai correr um fluxo de Power Automate que entre várias ações vai:
- Guardar a imagem num ficheiro .png
- Popular um documento de Word
- Criar o ficheiro com o Documento Word
- Converter o ficheiro do Word em PDF e Criar o Documento
- Eliminar a imagem gerada
Como podes ver o fluxo vai ser bastante completo para executar todas estas operações.
Antes de iniciarmos o processo é importante saberes que no cenário vou utilizar 2 conectores premium que usam o Microsoft Word. O documento de Word também deve ser preparado com os campos de formulário.

Os campos do Word são preenchidos essencialmente com controlos de texto, e a imagem com um controlo de imagem. Estes campos vão ser necessários para a etapa de popular um documento de Word.
Fluxo do Power Automate
Para começar vamos iniciar um fluxo de Power Automate, acedendo a make.powerautomate.com e iniciamos um novo fluxo.

Escolhemos um Fluxo instantâneo, que é ativo quando pressionamos um botão em Power Apps. Damos um nome ao fluxo e indicamos o Trigger (gatilho) que é obrigatório para iniciar o fluxo.

1 – Trigger Power Apps V2
O Trigger Power Apps V2 é o mais recente que permite interagir entre o Power Apps e o Power Automate. Neste caso o Trigger pode receber inputs, que vamos começar a definir, de modo a podermos obter a informação da aplicação e passá-la para o Power Automate.

Começamos por adicionar os vários inputs que vamos necessitar da aplicação…

Os inputs podem ser de vários tipos de dados, mas para o cenário vamos ter essencialmente 3:
- Ficheiro [File] para a imagem
- Texto [Text] para os campos de texto
- Número [Number] para os campos de números
Nota que aqui poderíamos incluir o input de Data [Date] para a data de nascimento, mas para efeitos de simplicidade vamos assumir a data como um valor de texto, colocado no Word.

Juntamente com o Trigger o fluxo precisa pelo menos de uma ação. Vamos então passar para a 1ª ação do fluxo.
2 – Criar um Ficheiro para a imagem
A primeira ação vai ser criar um ficheiro, neste caso em SharePoint para armazenar a imagem que vai sair da aplicação e do Input -> File. Assim vamos escolher uma ação Create File com o conector de SharePoint.

Nas configurações da ação definimos o site de SharePoint e a pasta onde vamos armazenar o ficheiro criado. Para o nome podemos dar um nome, contudo aqui vou criar uma expressão -> concat para concatenar valores. Os valores são definidos através dos Inputs que vêm da Aplicação e do Trigger.
concat(triggerBody()?[‘text_1′],’_’,triggerBody()?[‘text_2′],’_’,utcNow())
Para o conteúdo, adicionamos um conteúdo dinâmico, proveniente do Power Apps.

3 – Obter as propriedades do Ficheiro
A próxima ação é necessária para obter as propriedades do ficheiro entretanto criado no passo anterior. Vamos aceder ao conector de SharePoint e procurar uma ação Get File Properties.

Nesta ação continuamos a dar o mesmo Site de SharePoint e a Biblioteca de Documentos onde estão os nossos ficheiros. No Id vamos colocar um conteúdo dinâmico, com o ID do ficheiro que podemos obter do Passo (Ação) anterior.

4 – Compor o caminho do ficheiro
O próximo passo, embora não fundamental, permite obter de uma forma mais simples os dados necessários para a próxima ação, nomeadamente, o caminho do ficheiro obtido pelas propriedades do mesmo.

Escolhemos o conteúdo dinâmico, caminho completo!

5 – Obter o conteúdo do ficheiro com o Caminho
Na próxima ação vamos obter o conteúdo do ficheiro, que continua a ser a nossa imagem, necessária para incluir no documento do Word. Neste caso escolhemos a opção Get File Content using Path.

Obtemos o conteúdo dinâmico do passo anterior…

6 – Popular o documento do Word
Agora que temos toda a informação do ficheiro, podemos começar a preencher o documento do Word.
Os inputs são diretos, mas no que toca à imagem é necessário o conteúdo do ficheiro, daí a preparação das etapas anteriores.

Agora é só introduzir os inputs provenientes do Trigger e do Caminho do Ficheiro.

Aqui especial atenção no Input da imagem, que corresponde ao caminho completo do ficheiro.

Eis as opções todas colocadas no documento Word.

7 – Criar o documento de Word
Depois de estar preenchido o documento, temos de o gravar / criar. Neste caso introduzimos outro passo que corresponde à criação de um ficheiro.
O nome do ficheiro pode ser criado através da seguinte expressão:
concat(triggerBody()?[‘text_1′],’_’,triggerBody()?[‘text_2′],’_’, utcNow())

E depois adicionamos o ficheiro do Word.

8 – Obter as propriedades do documento do Word
Este próximo passo é importante se pretendermos converter o documento de Word num PDF. Precisamos das propriedades do documento, nomeadamente o caminho para poder convertê-lo em PDF. Mas aqui a lógica é semelhante aos passos anteriores.

Ficamos com este passo completo.

9 – Converter o documento de Word em PDF
Este passo necessita do caminho do ficheiro, o qual vamos obter através das propriedades no passo anterior para converter em PDF.

Aqui colocamos o caminho do ficheiro pela opção Nome de Ficheiro com a extensão

10 – Criar o documento PDF
O próximo passo é semelhante ao que foi feito com o Documento do Word, mas agora para o PDF, temos de o criar!

O passo final fica desta forma.

11 – Apagar a imagem
No último passo, do Fluxo vamos apagar a imagem gerada, uma vez que podemos considerar um ficheiro temporário. Escolhemos uma ação Delete File (Atenção em não colocar Delete Item).

Ativar o Fluxo pelo Power Apps
De volta ao Power Apps, agora temos de correr o fluxo.
Em primeiro lugar temos de ativar / adicionar o fluxo no Power Apps.

E inserir o Fluxo pretendido…

Agora vamos adicionar um botão para correr o Fluxo.

Nesta fase apenas temos de correr o fluxo no método OnSelect do Botão. Como podes verificar estão todos os inputs colocados no Trigger do Power Automate. Aqui temos de ter especial atenção ao input da imagem, que requer um Record, registo.

O código é o seguinte: Apenas deves ter cuidado com o tipo de inputs necessários, ou seja, se o Input pede Texto, temos que colocar os valores como Texto, por exemplo.
FichaWord.Run(
// Input da Imagem como Record
{
contentBytes: img_Foto.Image;
name: txt_Nome.Text
};
txt_Nome.Text; // 2º Input da Imagem (um valor de Texto)
txt_Nome.Text;
txt_Apelido.Text;
drp_Posicao.Selected.Value;
Text(dte_DataNascimento.SelectedDate);
Value(txt_Idade.Text);
drp_País.SelectedText.Value;
sld_Altura.Value;
If(tgl_Internacional.Value;”Sim”;”Não”);
drp_Clube.Selected.Clube
)
Próximo artigo:
Artigo Anterior:
Artigos por Categoria
- Microsoft Excel (44)
- Power Apps (16)
- Power Automate (3)
- Power BI (11)
- Power Query (14)
- Python (3)
- VBA (7)

Leave a Reply