Como gerar ficheiros PDF em Power Apps / Power Platform: passo a passo
Gerar ficheiros PDF directamente a partir de uma Canvas App em Power Apps é útil para criar recibos, relatórios ou facturas que podem ser partilhados ou arquivados. Este tutorial mostra como criar um PDF simples usando HTML, o conector Power Automate e guardar o ficheiro em OneDrive ou SharePoint.
Pré-requisitos
- Conta com acesso a Power Apps e Power Automate.
- Permissões para criar flows e escrever em OneDrive ou SharePoint.
- Conhecimentos básicos de Canvas Apps e expressões de fórmulas em Power Apps.
Passo 1: Conceito — porquê usar HTML + Power Automate
Power Apps não tem conversão nativa para PDF; por isso criamos um documento HTML na app, enviamo-lo ao Power Automate que usa a ação de conversão (ex.: "OneDrive for Business - Convert file" ou um conector de terceiros) para gerar o PDF e, por fim, grava o ficheiro na localização desejada. Esta abordagem é simples, flexível e permite personalizar o layout do PDF com HTML/CSS.
Passo 2: Criar a Canvas App e o ecrã de exemplo
Crie uma Canvas App (Tablet ou Phone) e adicione controlos para capturar os dados que quer no PDF. Exemplo mínimo: TextInput para Nome, TextInput para Nota e um Button para gerar o PDF.
// Controlo: TextInputNome (Default: "")
// Controlo: TextInputNota (Default: "")
// Botão: btnGerarPDF (OnSelect será configurado mais abaixo)
Passo 3: Construir o HTML dentro da App
Crie uma variável que contenha o HTML do documento. Use uma string simples com estilos inline para evitar dependências externas. Armazene o HTML numa variável de contexto ou global antes de chamar o Power Automate.
// No OnSelect do botão, antes de chamar o Flow:
Set(varHTML,
"" &
"Relatório
" &
"Nome: " & TextInputNome.Text & "
" &
"Nota: " & TextInputNota.Text & "
" &
""
)
Passo 4: Criar o Power Automate Flow que converte HTML em PDF
Crie um flow automatizado que seja acionado a partir da Canvas App (gatilho "PowerApps"). O Flow recebe o HTML como input, cria um ficheiro HTML temporário em OneDrive/SharePoint e usa a ação de conversão para gerar o PDF. Depois devolve a ligação ou guarda o ficheiro final.
// Estrutura do Flow (resumo):
1. Gatilho: PowerApps
2. Ação: Create file (OneDrive for Business) — Path: /temp/relatorio.html, Content: receber parâmetro HTML
3. Ação: Convert file (OneDrive for Business) — Id: id do ficheiro HTML, Target type: PDF
4. Ação: Create file (OneDrive for Business / SharePoint) — Guardar o ficheiro PDF em /Relatorios/relatorio_{utcNow()}.pdf
5. Responder a PowerApps com a URL do ficheiro (opcional)
// No Power Automate use a expressão utcNow() para timestamp quando necessário.
Passo 5: Ligar a App ao Flow e invocar a conversão
No Power Apps, adicione o Flow criado através de "Data > Power Automate". Depois invoque-o no OnSelect do botão, passando a variável varHTML. Trate a resposta para obter a URL do PDF ou confirmar sucesso.
// Exemplo no OnSelect do btnGerarPDF:
// Assume Flow chama-se ConvertHTMLToPDF
ConvertHTMLToPDF.Run(varHTML).Run() // Se o Flow devolver valor usar variáveis para capturar
// Exemplo com captura da resposta (se o Flow usar 'Respond to PowerApps'):
Set(varResposta, ConvertHTMLToPDF.Run(varHTML));
If(!IsBlank(varResposta.pdfUrl),
Launch(varResposta.pdfUrl),
Notify("PDF gerado mas não foi possível obter a URL", NotificationType.Warning)
)
Passo 6: Erros comuns e como resolver
Erros típicos: 1) Permissões insuficientes para criar ficheiros em OneDrive/SharePoint — verifique permissões; 2) HTML mal formado — valide com um editor; 3) A ação de conversão não está disponível na sua licença — verifique o conector/plano ou use um serviço externo (API de conversão) com Custom Connector. Se o Flow falhar, consulte o histórico de execuções para detalhes.
Verificar o resultado
Abra a pasta em OneDrive/SharePoint onde guardou o PDF e confirme o nome, data e conteúdo. Abra o ficheiro PDF para verificar a formatação, textos e caracteres especiais. Na App, teste com vários inputs (compridos, caracteres acentuados) para garantir que o encoding UTF-8 é preservado.
Conclusão
Agora já sabe como gerar ficheiros PDF em Power Apps / Power Platform usando HTML e Power Automate, guardar em OneDrive/SharePoint e apresentar ou partilhar o resultado. Próximos passos: adicionar imagens ao HTML, criar templates mais sofisticados ou usar um Custom Connector para serviços de PDF. Dica: antes de converter, valide sempre o HTML e teste o Flow isoladamente para facilitar a resolução de erros.