Saltar al contenido principal

Convierta el cuerpo del correo electrónico y todos los archivos adjuntos en un único PDF consolidado en Power Automate: un flujo de trabajo de 7 pasos con Outlook y PDF4me.

· 28 min de lectura
SEO and Content Writer

La parte dolorosa de los flujos de trabajo impulsados por correo electrónico no es el correo electrónico, sino... todo lo que conllevaEl cuerpo contiene el contexto (quién lo envió, por qué, qué hacer), los archivos adjuntos contienen los artefactos (la factura, el formulario, el contrato firmado), y almacenarlos por separado significa que en el futuro necesitarás tres clics para reconstruir el mensaje más adelante. Este tutorial crea el patrón exacto en Power Automate con PDF4me Convertir a PDF, PDF4me Combina varios archivos PDF, Perspectiva, Dropboxy una única aplicación a cada bucle. Siete acciones de flujo. Llega un correo electrónico entrante. Se envía un PDF consolidado, primero el cuerpo y luego los archivos adjuntos, con marca de tiempo y guardados automáticamente en su carpeta de archivo.

El flujo de un vistazo
1. When a new email arrives (V3)
Outlook trigger on To [email protected]. Include Attachments Yes, Only with Attachments Yes.
2. Initialize variable
Name email, Type Array. Buffer for every PDF binary the flow produces.
3. Convert to PDF Body
PDF4me action. Content triggerOutputs body/body (the HTML body), File Name email-body.html. Returns the body as PDF.
4. Append to array (email body)
Push base64ToBinary on the converted body PDF onto the email array. This is page 1 of the final document.
5. Apply to each attachment
Loop triggerOutputs body/attachments. Convert each to PDF, then Append to array with base64ToBinary.
6. Merge multiple PDFs
PDF4me action. Body/docContent the email array, Output File Name Email Attachment Merge Output.pdf.
7. Create file
Dropbox /blog data/merge blog template/output. File Name concat(merge-, formatDateTime(utcNow(), yyyyMMdd-HHmmss), .pdf).
La versión corta

Una perspectiva Cuando llega un nuevo correo electrónico (V3) El disparador se activa en el momento en que llega un mensaje a [email protected]. Una variable de matriz llamada correo electrónico Se abre. PDF4me Convertir a PDF primero convierte el cuerpo HTML en un PDF, el cuerpo convertido se agrega al array como página 1. Aplicar a cada uno recorre todos los archivos adjuntos (dos archivos DOCX en esta ejecución: 3 páginas.docx, Docx_2Páginas.docx), convierte cada uno a PDF y lo añade sucesivamente. PDF4me Combinar varios archivos PDF Consume todo el array y emite un PDF consolidado. Dropbox Crear archivo lo escribe de vuelta como fusionar-20260611-103323.pdf, un nombre con marca de tiempo que nunca entra en conflicto. Cuerpo primero, archivos adjuntos en orden, un PDF, una carpeta, listo para auditoría.

Preguntas y respuestas basadas en el porqué

¿Por qué convertir primero el cuerpo del texto a PDF? El cuerpo es el contexto: quién lo envió, por qué, qué hacer. Tu yo del futuro que lea el PDF consolidado querrá que la página 1 establezca el escenario antes de que lleguen los archivos adjuntos. triggerOutputs()?['body/body'] (el cuerpo HTML) en un PDF primero significa que la acción de combinación ve el mensaje en sí como el documento principal, no como un volcado de texto separado.

¿Por qué usar una sola variable de matriz para el cuerpo y los archivos adjuntos? La acción de fusión requiere una única colección ordenada. Inicialícela una vez, agregue el cuerpo en el paso 4, agregue cada archivo adjunto convertido en el paso 5, y la matriz tendrá exactamente el orden de documentos deseado. Dos matrices separadas obligarían a una acción de composición posterior a concatenarlas, lo que implica más trabajo de configuración para obtener el mismo resultado.

Por qué base64aBinario ¿En cada empujón? PDF4me Convertir a PDF devuelve su salida como una cadena base64 envuelta en $contenidoLos archivos adjuntos de Outlook llegan como base64 en bytes de contenidoPDF4me Combina varios archivos PDF necesita búferes binarios. Lo mismo base64ToBinary(...) La llamada conecta ambas fuentes, solo que apunta a nombres de propiedades diferentes. Se omite la conversión y la acción de fusión genera errores con "contenido no válido".

¿Por qué un nombre de salida con marca de tiempo? Dos correos electrónicos del mismo remitente enviados en el plazo de una hora entrarían en conflicto si el nombre del archivo fuera el mismo. concat('merge-', formatDateTime(utcNow(), 'yyyyMMdd-HHmmss'), '.pdf') produce nombres como fusionar-20260611-103323.pdf, ordenable lexicográficamente, único con precisión de segundos y legible instantáneamente como una marca de tiempo UTC.


Lo que obtendrás

Aporte: Cualquier correo electrónico entrante a la dirección vigilada (aquí, [email protected]) con uno o más archivos adjuntos. Este tutorial utiliza un cuerpo de mensaje corto ("Hola, espero que estés bien...") y dos archivos adjuntos DOCX (3Page.docx, Docx_2Pages.docx). Producción: Un único PDF consolidado insertado en /blog data/merge blog template/output/, llamado merge-YYYYMMDD-HHmmss.pdfLa página 1 es el cuerpo del texto. De la página 2 en adelante se encuentran los anexos en orden de presentación, generados mediante Aspose Words.

El correo electrónico entrante

Vista de correo electrónico de Gmail que muestra un mensaje dirigido a test, cuerpo Hola, espero que estés bien. Te escribo para informarte sobre el progreso del proyecto actual. También se adjuntan algunos archivos relacionados para tu referencia. Saludos, Test Dev, dos archivos adjuntos mostrados como miniaturas de documentos de Word 3Page.docx y Docx_2Pages.docx, Escaneado por Gmail, aviso visible

El flujo supervisa la bandeja de entrada de Outlook en [email protected]Una vez que Gmail reenvía el mensaje o esta dirección lo recibe directamente, se activa el disparador.

La carpeta Dropbox de salida después de dos ejecuciones

Listado de carpetas de salida de Dropbox merge-20260611-103323.pdf 165,43 KB y merge-20260611-102949.pdf 171,37 KB, cada uno nombrado según la marca de tiempo UTC en la que se ejecutó el flujo.

Página 1 del PDF combinado

Vista previa de merge-20260611-103323.pdf que muestra dos páginas una al lado de la otra, la página izquierda es el cuerpo del correo electrónico convertido Hola, espero que estés bien Te escribo para informarte sobre el progreso del proyecto actual También se adjuntan algunos archivos relacionados para tu referencia Saludos Test Dev, la página derecha es la primera página de 3Page.docx etiquetada como Página 1

La página 1 es el cuerpo del correo electrónico convertido. De la página 2 en adelante es el primer archivo adjunto (3 páginas.docx). El segundo anexo (Docx_2Páginas.docx) sigue después de eso. Un PDF, mensaje completo reconstruido.


Lo que necesitas

  • Power Automate. Abrir Power Automate. Cualquier plan con conectores premium (PDF4me Connect es premium).
  • Clave API de PDF4me. Obtén tu clave APIConéctalo la primera vez que añadas una acción de PDF4me.
  • Office 365 Outlook. Para el Cuando llega un nuevo correo electrónico (V3) activar y leer el archivo adjunto bytes de contenidoFunciona con cualquier bandeja de entrada con la que el conector pueda autenticarse.
  • Dropbox (o SharePoint, OneDrive, Google Drive). Para el PDF final consolidado.
  • Un correo electrónico con archivos adjuntosEl tutorial utiliza dos ejemplos DOCX. 3 páginas.docx y Docx_2Páginas.docx. Envíelas por correo electrónico a la dirección monitoreada para que se refleje cada captura de pantalla.

Primero, obtén las muestras y el resultado esperado. Descarga ambos archivos DOCX, adjúntalos a un correo electrónico rápido a tu dirección monitoreada y luego publica el flujo. Tu primera ejecución debería producir un fusionar-AAAAMMDD-HHmmss.pdf que reproduce exactamente la muestra vinculada (solo difiere la marca de tiempo).


El flujo de un vistazo

  1. Outlook: Cuando llega un nuevo correo electrónico (V3) (desencadenar).
  2. Inicializar variable llamado email (Arreglo).
  3. PDF4me: Convertir a PDF (Cuerpo)Lee el cuerpo HTML y devuelve un PDF.
  4. Agregar a la variable de matriz con base64ToBinary en el cuerpo modificado.
  5. Aplicar a cada uno en triggerOutputs()?['body/attachments']:
    • PDF4me: Convertir a PDF el archivo adjunto.
    • Agregar a la variable de matriz con base64ToBinary en el PDF convertido.
  6. PDF4me: Combina varios archivos PDF en un único archivo PDF.. Matriz de entrada, un PDF de salida.
  7. Dropbox: Crear archivoLa expresión del nombre del archivo añade la marca de tiempo UTC.

Descripción general del flujo completo

Lienzo de flujo de Power Automate que muestra siete acciones apiladas de arriba a abajo: Cuando llega un nuevo correo electrónico V3, Inicializar variable, Convertir a PDF Cuerpo, Agregar a variable de matriz (cuerpo del correo electrónico), Aplicar a cada uno que contenga Convertir a PDF y Agregar a variable de matriz, Combinar varios archivos PDF en un solo archivo PDF, Crear archivo

Siete acciones. La opción "Aplicar a cada tarjeta" muestra "1 de 2" porque el correo electrónico de prueba tenía dos archivos adjuntos. PDF4me interviene en el flujo tres veces: convertir el cuerpo, convertir el archivo adjunto y combinar todo.


Paso 1: Outlook: Cuando llega un nuevo correo electrónico (V3)

Flujo hasta ahora: Solo el disparador.

  1. En Power Automate clic Crear, elegir Flujo de nube automatizado.
  2. Nombre el flujo (p. ej. Email to Consolidated PDF), elegir Office 365 Outlook: Cuando llega un nuevo correo electrónico (V3) como disparador, haga clic Crear.
  3. Conectar Tu buzón de Office 365.
  4. Expandir Parámetros avanzados y Mostrar todo para mostrar las opciones de filtrado.
  5. Configurar:
    • A: [email protected] (filtrar para que solo el correo dirigido a esta dirección active el flujo)
    • Incluir archivos adjuntos: Yes
    • Solo con archivos adjuntos: Yes

Configuración del disparador

Power Automate Office 365 Outlook Cuando llega un nuevo correo electrónico V3 Activador Parámetros avanzados expandidos que muestran Para configurar en test@ynoox.ch, Incluir archivos adjuntos Sí, Solo con archivos adjuntos Sí, Conectado a Office 365 Outlook

Consejo. Solo con archivos adjuntos Sí es lo que evita que el flujo se active con cada notificación interna, invitación de calendario o respuesta. Combinar con un A filtrar en un alias dedicado (por ejemplo, [email protected]) para una dirección de recepción limpia que solo reciba el correo que realmente desea consolidar.


Paso 2: Inicializar la variable de correo electrónico

Flujo hasta ahora: Disparador más variable de inicialización.

Abra una matriz vacía para recopilar el PDF del cuerpo y todos los PDF adjuntos.

  1. Haga clic + Nuevo paso, elegir Inicializar variable.
  2. Configurar:
    • Nombre: email
    • Tipo: Array
    • Valor: dejar en blanco

Inicializar la configuración de variables

Acción de inicialización de variable de Power Automate configurada con Nombre correo electrónico y Tipo Matriz y un campo Valor vacío

Paso 3: PDF4me: Convertir a PDF (Cuerpo)

Flujo hasta ahora: Disparador más inicializar variable más convertir a cuerpo PDF.

El desencadenador de Outlook emite el cuerpo del mensaje como HTML en body/bodyPDF4me Convert to PDF lee HTML directamente, por lo que toda la conversión se realiza en una sola acción.

  1. Haga clic + Nuevo paso, buscar PDF4me, elegir Convertir a PDF.
  2. Rebautizar la acción de Convertir a PDF Cuerpo De esta forma, la acción "Convertir a PDF" del paso 5 podrá tener su propio nombre limpio más adelante.
  3. Conectar PDF4me Conéctate con tu clave API (solo la primera vez).
  4. Configurar:
    • Contenido del archivo (expresión, clic) fx): triggerOutputs()?['body/body']
    • Nombre del archivo: email-body.html

Convertir a PDF Configuración del cuerpo

Acción Power Automate PDF4me Convertir a PDF Cuerpo con Contenido de archivo establecido en el token Cuerpo del desencadenador (expresión triggerOutputs body/body) y Nombre de archivo email-body.html, Conectado a PDF4me Connect

El .html La extensión del nombre del archivo le indica a PDF4me qué motor de renderizado usar. Enviar .docx, .xlsx, .png, o .jpg Con la misma facilidad, la misma acción sirve para todos ellos.


Paso 4: Agregar a la variable de matriz (Cuerpo del correo electrónico)

Flujo hasta ahora: Disparador más Inicializar variable más Convertir a cuerpo PDF más Anexar (cuerpo del correo electrónico).

Empuja el PDF del cuerpo convertido hacia el email matriz como página 1.

  1. Haga clic + Nuevo paso, elegir Agregar a la variable de matriz.
  2. Rebautizar la acción de Agregar a la variable de matriz (cuerpo del correo electrónico) para mayor claridad.
  3. Configurar:
    • Nombre: email
    • Valor (expresión): base64ToBinary(body('Convert_to_PDF_Body')?['$content'])

Configuración del cuerpo del correo electrónico

Acción de Power Automate Agregar a variable de matriz (cuerpo del correo electrónico) con Nombre correo electrónico y Valor establecido en la expresión base64ToBinary body open quote Convert_to_PDF_Body close quote close paren question dollar content close bracket que se muestra en el editor de expresiones

Paso 5: Aplicar a cada archivo adjunto, convertir y agregar.

Flujo hasta ahora: Disparador más Inicializar variable más Convertir a cuerpo PDF más Anexar (cuerpo del correo electrónico) más Aplicar a cada uno.

Recorre cada archivo adjunto, conviértelo a PDF y agrégalo uno por uno para que la fusión final respete el orden de los archivos adjuntos.

Paso 5a: Aplicar a cada uno (seleccione la fuente)

  1. Haga clic + Nuevo paso, elegir Aplicar a cada uno.
  2. Configurar:
    • Seleccione una salida de los pasos anteriores. (expresión): triggerOutputs()?['body/attachments']
Power Automate Aplicar a cada acción con Seleccionar una salida de los pasos anteriores establecido en el token Adjuntos, expresión resuelta triggerOutputs body/attachments mostrado en la información sobre herramientas

Paso 5b: Convertir a PDF (el archivo adjunto)

  1. Dentro del bucle, haga clic Agregar una acción, elegir PDF4me: Convertir a PDF.
  2. Configurar:
    • Contenido del archivo (expresión): base64ToBinary(items('Apply_to_each')?['contentBytes'])
    • Nombre del archivo (contenido dinámico): seleccionar nombre Aplicar a cada elemento actual
Acción Convertir a PDF de Power Automate dentro de Aplicar a cada uno, Contenido del archivo establecido en elementos base64ToBinary Apply_to_each contentBytes, Nombre del archivo establecido en el token de nombre del archivo adjunto actual, editor de expresiones abierto mostrando elementos base64ToBinary Apply_to_each contentBytes

El nombre El token de contenido dinámico se resuelve en tiempo de ejecución. items('Apply_to_each')?['name'], por lo que cada archivo adjunto se convierte utilizando su nombre de archivo original (que contiene la extensión de origen e indica a PDF4me qué motor de renderizado utilizar).

Información sobre herramientas del campo Nombre de archivo de Power Automate Convert to PDF que muestra los elementos de expresión resueltos Apply_to_each name, token de nombre de Apply to each current attachment

Paso 5c: Agregar a la variable de matriz (el archivo adjunto convertido)

  1. A continuación, convertir a PDF dentro del mismo bucle, Agregar una acción, elegir Agregar a la variable de matriz.
  2. Configurar:
    • Nombre: email
    • Valor (expresión): base64ToBinary(body('Convert_to_PDF')?['$content'])
Power Automate Agregar a la variable de matriz dentro de Aplicar a cada, Nombre correo electrónico, Valor establecido en base64ToBinary cuerpo Convertir_a_PDF contenido en dólares mostrado en el editor de expresiones

Los nombres de las dos propiedades son importantes. Los bytes adjuntos de Outlook siguen activos bytes de contenidoPDF4me Convertir a salida PDF sigue en funcionamiento $contenidoAmbos son en base64. Mantén los nombres correctos al pegar las expresiones y el bucle funcionará sin problemas.


Paso 6: PDF4me: Combinar varios archivos PDF

Flujo hasta ahora: Disparador más Inicializar variable más Convertir a cuerpo PDF más Anexar (cuerpo) más Aplicar a cada uno más Combinar varios PDF.

Todo email La matriz (primero el PDF del cuerpo, luego los PDF adjuntos en el orden en que se adjuntan) se introduce en una única llamada a Merge.

  1. Debajo de Aplicar a cada bucle, haga clic en + Nuevo paso, buscar PDF4me, elegir Combinar varios archivos PDF en un único archivo PDF..
  2. Configurar:
    • Cuerpo/Contenido del documento: elige el email token variable
    • Nombre del archivo de salida: Email Attachment Merge Output.pdf

Configuración de acción de fusión

Acción de Power Automate PDF4me para combinar varios archivos PDF en un único archivo PDF con Body/docContent establecido en la variable email y el nombre del archivo de salida Email Attachment Merge Output.pdf, se abre el panel de contenido dinámico que muestra las variables email, Apply to each, Current item, When a new email arrive V3, body/sensitivityLabelInfo, Attachments

Paso 7: Dropbox: Crear archivo con un nombre que incluya una marca de tiempo.

Flujo hasta ahora: Disparador más Inicializar variable más Convertir a cuerpo PDF más Anexar más Aplicar a cada uno más Combinar más Crear archivo.

Guarda el PDF consolidado en Dropbox con un nombre de archivo que incluya la fecha y hora UTC, de modo que cada ejecución genere un archivo nuevo y ordenable.

  1. Haga clic + Nuevo paso, elegir Dropbox: Crear archivo.
  2. Configurar:
    • Ruta de la carpeta: /blog data/merge blog template/output
    • Nombre del archivo (expresión, clic) fx): concat('merge-', formatDateTime(utcNow(), 'yyyyMMdd-HHmmss'), '.pdf')
    • Contenido del archivo: elige el Contenido del archivo token de la acción Combinar varios PDF

Expresión de nombre de archivo

Power Automate Dropbox Crear acción de archivo Ruta de carpeta /blog data/merge blog template/output, Expresión de nombre de archivo concat merge dash coma formatDateTime utcNow coma yyyyMMdd dash HHmmss coma punto pdf mostrado en el editor de expresiones, Contenido del archivo configurado para Combinar varios tokens

Acción final con contenido de archivo asignado

Acción Crear archivo de Power Automate Dropbox con Ruta de carpeta /blog data/merge blog template/output, Expresión de concatenación de nombre de archivo, Token de contenido de archivo de la acción Combinar varios archivos PDF en un único archivo PDF, Información sobre herramientas que se resuelve en el cuerpo Merge_multiple_PDF_files_into_a_single_PDF_file

Consejo. ¿Desea una carpeta por dominio de remitente? Reemplace la ruta de carpeta estática con concat('/inbox-pdfs/', split(triggerOutputs()?['body/from'], '@')[1], '/')Los archivos PDF se enrutan automáticamente a subcarpetas como /bandeja-de-entrada-pdfs/tuempresa.com/ basado en el dominio del remitente.


Ejecuta el flujo y verifica.

  1. Ahorrar el flujo en la parte superior derecha.
  2. Envíe un mensaje por correo electrónico con uno o más archivos adjuntos a la dirección monitoreada (el tutorial utilizado) [email protected]).
  3. Abierto Historial de ejecuciónEl disparador debería activarse en cuestión de segundos. Observa cómo cada acción se vuelve verde: Convertir a cuerpo PDF tarda unos 10 segundos para un cuerpo HTML corto, Aplicar a cada uno se ejecuta en paralelo de forma predeterminada y finaliza ambos archivos adjuntos en unos 22 segundos, Combinar varios PDF tarda alrededor de 11 segundos.
  4. Abrir Dropbox en /blog data/merge blog template/output/. Un archivo llamado merge-YYYYMMDD-HHmmss.pdf está ahí.
  5. Abra el PDF. La página 1 contiene el texto principal. A partir de la página 2, se muestran todos los archivos adjuntos, en su totalidad y en el orden en que aparecen.

¿Qué construiste exactamente? Un sistema automatizado para archivar correos electrónicos. Cada mensaje con archivos adjuntos se convierte en un PDF consolidado, con el cuerpo del mensaje primero y luego los archivos adjuntos en orden, con marca de tiempo para evitar conflictos. El archivo se guarda en una carpeta compartida que tu equipo o auditores pueden consultar fácilmente. Esta misma configuración funciona con dos o veinte archivos adjuntos sin ningún problema. También funciona en Make (activador de Outlook, iterador sobre archivos adjuntos y PDF4me Merge) y Zapier (Email by Zapier o activador de Outlook, bucle y PDF4me Merge).


Variaciones comunes que puedes agregar sin reconstruir

Filtrar archivos adjuntos por tipo
Si solo desea PDF y documentos de Office en la combinación, envuelva Convertir a PDF en un Condición pruebas terminaCon(toLower(items('Aplicar_a_cada_elemento')?['nombre']), '.pdf') o similar. Omite las firmas y los archivos adjuntos de imágenes en línea sin problemas.
Estampar metadatos en la página 1
Antes del paso 3, cree un preámbulo HTML con Componer: remitente, asunto, fecha de recepción, luego concatenarlo a cuerpo/cuerpoLa página 1 del PDF consolidado ahora incluye un encabezado que se puede usar para buscar información posteriormente.
Firma digital antes del archivo
Insertar PDF4me PDF de firma digital entre el paso 6 y el paso 7. El PDF archivado está refrendado con su certificado X.509, un registro de auditoría instantáneo de quién archivó qué y cuándo.
PDF/A para retención a largo plazo
Agregar PDF4me Crear PDF/A con cumplimiento PDF/A-2b Tras la fusión, el PDF consolidado archivado cumple ahora con la norma ISO 19005, lo que permite su conservación legal o su presentación ante organismos reguladores.

Solución de problemas

Combinar errores de acción con "contenido no válido"

Una de las opciones para agregar a la matriz Valor expresiones no está envuelto en base64ToBinary(...)Cada envío (cuerpo y adjuntos) necesita la conversión. Vuelva a abrir ambas acciones de Agregar, cambie al editor de expresiones y confirme que las expresiones estén base64ToBinary(body('Convert_to_PDF_Body')?['$content']) y base64ToBinary(body('Convertir_a_PDF')?['$content']) literal.

La página 1 está en blanco o falta.

La acción Convertir a cuerpo PDF no recibió un cuerpo HTML real. Compruebe el activador. Incluir archivos adjuntos se quedó Sí (sin ella el cuerpo a veces llega vacío) y que Contenido del archivo resuelve triggerOutputs()?['body/body'], no cuerpo/vista previa del cuerpo.

Aplicar a cada ejecución cero veces

El disparador se activó en un correo electrónico sin archivos adjuntos porque Solo con archivos adjuntos está configurado en No. Cámbielo a Sí, o envuelva la acción Aplicar a cada uno en una Condición que se ejecute solo cuando longitud(triggerOutputs()?['body/attachments']) es mayor que cero.

Los archivos adjuntos aparecen en el orden incorrecto.

El valor predeterminado Aplicar a cada uno se ejecuta en paralelo, lo que puede alterar el orden de adición. Abra el bucle Ajustes y establecer Control de concurrencia Grado de paralelismo con 1El bucle ahora se ejecuta de forma secuencial y los archivos adjuntos se colocan en la matriz en el orden exacto en que Outlook los devolvió.


Próximos pasos

El mismo patrón de siete pasos (activar, inicializar la matriz, convertir el cuerpo, volver a convertir y añadir, fusionar y guardar con una marca de tiempo) funciona para cualquier automatización de "correo electrónico y archivos adjuntos en un PDF". Envíelo una sola vez y cada mensaje entrante se convertirá automáticamente en una entrada de archivo con capacidad de búsqueda y clasificación.