Cómo generar archivos PDF en Power Apps / Power Platform: paso a paso
Generar archivos PDF directamente desde una Canvas App en Power Apps es útil para crear recibos, informes o facturas que se pueden compartir o archivar. Este tutorial muestra cómo crear un PDF sencillo usando HTML, el conector Power Automate y guardar el archivo en OneDrive o SharePoint.
Requisitos previos
- Cuenta con acceso a Power Apps y Power Automate.
- Permisos para crear flows y escribir en OneDrive o SharePoint.
- Conocimientos básicos de Canvas Apps y expresiones de fórmulas en Power Apps.
Paso 1: Concepto — por qué usar HTML + Power Automate
Power Apps no tiene conversión nativa a PDF; por ello creamos un documento HTML en la app, lo enviamos a Power Automate que utiliza la acción de conversión (p. ej.: "OneDrive for Business - Convert file" o un conector de terceros) para generar el PDF y, por último, guarda el archivo en la ubicación deseada. Este enfoque es sencillo, flexible y permite personalizar el diseño del PDF con HTML/CSS.
Paso 2: Crear la Canvas App y la pantalla de ejemplo
Cree una Canvas App (Tablet o Phone) y añada controles para capturar los datos que quiere en el PDF. Ejemplo mínimo: TextInput para Nombre, TextInput para Nota y un Button para generar el PDF.
// Controlo: TextInputNome (Default: "")
// Controlo: TextInputNota (Default: "")
// Botão: btnGerarPDF (OnSelect será configurado mais abaixo)
Paso 3: Construir el HTML dentro de la App
Creé una variable que contenga el HTML del documento. Use una cadena simple con estilos inline para evitar dependencias externas. Almacene el HTML en una variable de contexto o global antes de llamar a Power Automate.
// No OnSelect do botão, antes de chamar o Flow:
Set(varHTML,
"" &
"Relatório
" &
"Nome: " & TextInputNome.Text & "
" &
"Nota: " & TextInputNota.Text & "
" &
""
)
Paso 4: Crear el Power Automate Flow que convierte HTML a PDF
Creé un flow automatizado que se active desde la Canvas App (disparador "PowerApps"). El Flow recibe el HTML como input, crea un archivo HTML temporal en OneDrive/SharePoint y usa la acción de conversión para generar el PDF. Después devuelve el enlace o guarda el archivo 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.
Paso 5: Conectar la App al Flow e invocar la conversión
En Power Apps, añada el Flow creado a través de "Data > Power Automate". Después invóquelo en el OnSelect del botón, pasando la variable varHTML. Procese la respuesta para obtener la URL del PDF o confirmar éxito.
// 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)
)
Paso 6: Errores comunes y cómo resolver
Errores típicos: 1) Permisos insuficientes para crear archivos en OneDrive/SharePoint — verifique permisos; 2) HTML mal formado — valide con un editor; 3) La acción de conversión no está disponible en su licencia — verifique el conector/plan o use un servicio externo (API de conversión) con Custom Connector. Si el Flow falla, consulte el historial de ejecuciones para detalles.
Verificar el resultado
Abra la carpeta en OneDrive/SharePoint donde guardó el PDF y confirme el nombre, la fecha y el contenido. Abra el archivo PDF para revisar el formato, textos y caracteres especiales. En la App, pruebe con varios inputs (largos, caracteres acentuados) para garantizar que el encoding UTF-8 se preserva.
Conclusión
Ahora ya sabe cómo generar archivos PDF en Power Apps / Power Platform usando HTML y Power Automate, guardar en OneDrive/SharePoint y presentar o compartir el resultado. Próximos pasos: añadir imágenes al HTML, crear plantillas más sofisticadas o usar un Custom Connector para servicios de PDF. Consejo: antes de convertir, valide siempre el HTML y pruebe el Flow aisladamente para facilitar la resolución de errores.