Combinar automáticamente todos los archivos PDF que se arrastran a una carpeta de Dropbox en Power Automate: un flujo de trabajo dinámico de 6 pasos.

La parte dolorosa de los tickets de "combinar estos PDF" no es la combinación, sino saber qué hay en la carpeta en tiempo de ejecuciónLos nombres cambian, los archivos van y vienen, alguien agrega un quinto documento a las 4:55 p. m. Este tutorial construye el patrón exacto en Power Automate con PDF4me Combina varios archivos PDF, Dropboxy una única aplicación a cada bucle. Seis acciones de flujo. Cero nombres de archivo codificados. Cada PDF que se encuentra actualmente en la carpeta supervisada se une en el momento en que llega un nuevo archivo, y el nombre de salida lleva el número de archivos para que cada ejecución sea identificable de forma única.
A Cuando se crea un archivo El disparador de Dropbox se activa con cada nueva carga. Listar archivos en la carpeta devuelve una instantánea de cada archivo que se encuentra actualmente en la carpeta (en esta ejecución, cuatro archivos PDF: PDF_Sample.pdf, muestra_3_página.pdf, sample_pdf.pdf, muestra.pdf). Un bucle Apply to each recorre esa lista, llama Obtener el contenido del archivo por Id, y empuja base64ToBinary(body('Get_file_content')?['$content']) en una variable de matriz llamada ArchivosPDF4me Combinar varios archivos PDF Consume el array y emite un PDF. Dropbox Crear archivo lo escribe de vuelta como fusionar-4.pdf, porque había cuatro archivos de entrada. Agregue un quinto archivo mañana y la siguiente ejecución producirá fusionar-5.pdf automáticamente.
Preguntas y respuestas basadas en el porqué
¿Por qué usar el disparador y la lista de archivos en la carpeta juntos? El disparador genera un único evento de archivo nuevo, pero no garantiza una lista actualizada de todo lo demás que hay en la carpeta. Listar archivos en la carpeta Captura el estado actual en tiempo de ejecución, por lo que la fusión siempre refleja exactamente lo que hay en el disco en este momento, no lo que había cuando se activó el disparador o cuando se diseñó el flujo.
¿Por qué obtener por ID en lugar de por ruta? Los nombres de archivo pueden entrar en conflicto o cambiar. Los ID de Dropbox son estables, únicos e inmunes al cambio de nombre. Mapeo Identificación desde Listar archivos en Obtener el contenido del archivo Esto significa que el bucle sigue funcionando incluso si un usuario cambia el nombre de un archivo a mitad del proceso, o si dos archivos tienen el mismo nombre para mostrar en subcarpetas diferentes.
Por qué base64ToBinary(...) en $contenido¿ Dropbox Obtener el contenido del archivo devuelve el archivo como una cadena base64 envuelta en un $contenido propiedad. La acción Combinar varios archivos PDF de PDF4me espera una colección de búferes binarios, no cadenas base64. base64ToBinary(body('Get_file_content')?['$content']) es el puente que convierte cada archivo en el momento en que llega al array.
¿Por qué construir el nombre del archivo de salida con concat() y longitud()¿ Codificación fija Salida.pdf significa que cada ejecución sobrescribe la anterior. concat('merge-', string(length(body('List_files_in_folder'))), '.pdf') estampa el número de archivo en el nombre, por lo que las ejecuciones consecutivas se ejecutan como fusionar-3.pdf, fusionar-4.pdf, fusionar-5.pdf. Extra: un vistazo rápido a la carpeta de salida le indicará cuántos archivos estaban incluidos en el ámbito de aplicación en cada caso.
Lo que obtendrás
Aporte: Una carpeta de Dropbox en /blog data/merge files dropbox Contiene cualquier archivo PDF que arrastres dentro. Este tutorial utiliza cuatro: PDFA_Sample.pdf, sample_3_page.pdf, sample_pdf.pdf, sample.pdf. Producción: Un único PDF consolidado en /blog data/merge blog template/output/ llamado merge-N.pdf dónde N es el número de archivos en tiempo de ejecución. Si se añaden más archivos, la siguiente ejecución los recogerá automáticamente.
La carpeta de Dropbox antes de la ejecución

La carpeta de Dropbox después de la ejecución

La segunda ejecución tenía cuatro archivos en la carpeta, por lo que la salida es fusionar-4.pdfLa carrera anterior tuvo tres.
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.
- DropboxCarpeta de origen para los archivos PDF de entrada, carpeta de destino para el resultado combinado. SharePoint, OneDrive y Google Drive funcionan de forma idéntica con sus conectores correspondientes.
- Un puñado de archivos PDFCualquier tamaño, cualquier combinación. El tutorial utiliza cuatro ejemplos: PDF_Sample.pdf, muestra_3_página.pdf, sample_pdf.pdf, muestra.pdf. Colócalos para que reflejen cada captura de pantalla.
Primero, obtenga el conjunto de datos de entrada y el resultado esperado. Descarga las cuatro muestras en /datos del blog/combinar archivos dropbox en tu Dropbox, luego publica el flujo. Tu primera ejecución debería producir un fusionar-4.pdf idéntico al que se enlaza aquí.
El flujo de un vistazo
- Dropbox: Cuando se crea un archivo (desencadenar).
- Dropbox: Listar archivos en una carpetaDevuelve todos los archivos que se encuentran actualmente en la carpeta monitorizada.
- Inicializar variable llamado
Files(Arreglo). - Aplicar a cada uno en
body('List_files_in_folder'):- Dropbox: Obtener el contenido del archivo por
Id. - Agregar a la variable de matriz con
base64ToBinary(body('Get_file_content')?['$content']).
- Dropbox: Obtener el contenido del archivo por
- PDF4me: Combina varios archivos PDF en un único archivo PDF..
Filesen,Output.pdfafuera. - Dropbox: Crear archivo. Nombre del archivo
concat('merge-', string(length(body('List_files_in_folder'))), '.pdf').
Descripción general del flujo completo

Seis acciones. La opción "Aplicar a cada tarjeta" muestra "1 de 4" porque la carpeta supervisada contenía cuatro archivos PDF en el momento de la ejecución.
Paso 1: Dropbox: Cuando se crea un archivo (Activador)
Flujo hasta ahora: Solo el disparador.
- En Power Automate clic Crear, elegir Flujo de nube automatizado.
- Nombre el flujo (p. ej.
Auto-Merge Dropbox Folder), elegir Dropbox: Cuando se crea un archivo como disparador, haga clic Crear. - Conectar Dropbox, si aún no lo has hecho.
- Configurar:
- Carpeta:
/blog data/merge files dropbox - Parámetros avanzados: dejar en el valor predeterminado (0 de 1 mostrado).
- Carpeta:
Configuración del disparador

El disparador sondea la carpeta monitorizada y se activa con cada nueva carga. La frecuencia de sondeo predeterminada varía según el plan, normalmente de 1 a 5 minutos.
Paso 2: Dropbox: Listar archivos en la carpeta
Flujo hasta ahora: Activador más Lista de archivos en la carpeta.
El disparador se activa con un único archivo nuevo. La fusión requiere todos los archivos PDF que se encuentren actualmente en la carpeta. Listar archivos en la carpeta Toma una instantánea actualizada del contenido de la carpeta en tiempo de ejecución.
- Haga clic + Nuevo paso, buscar Dropbox, elegir Listar archivos en la carpeta.
- Configurar:
- Carpeta:
/blog data/merge files dropbox(la misma ruta que el disparador)
- Carpeta:
Configuración de archivos de lista

- La acción regresa
body('List_files_in_folder'), una matriz de objetos de metadatos de archivos. Cada objeto contieneId,Name,DisplayName,Path,LastModified, ySizeEl siguiente paso itera sobre este array.
Consejo. Si su carpeta tiene contenido mixto (PDF junto con imágenes y documentos de Office) y solo desea combinar PDF, agregue un Matriz de filtros acción después de este paso con la expresión terminaCon(toLower(item()?['Nombre']), '.pdf') y en su lugar, introduce el array filtrado en el bucle.
Paso 3: Inicializar archivos de variables
Flujo hasta ahora: Disparador más Lista de archivos más Variable de inicialización.
La acción de fusión requiere una colección de archivos binarios. Asigne un array vacío para recopilarlos.
- Haga clic + Nuevo paso, elegir Inicializar variable.
- Configurar:
- Nombre:
Files - Tipo:
Array - Valor: dejar en blanco
- Nombre:
Inicializar la configuración de variables

Paso 4: Aplicar a cada uno, obtener el contenido del archivo y agregarlo a la matriz.
Flujo hasta ahora: Disparador más Listar archivos más Inicializar variable más Aplicar a cada uno.
Este es el núcleo del flujo. Recorra cada archivo que devolvió la instantánea, obtenga sus bytes, conviértalos a binario, agréguelos a Files.
Paso 4a: Aplicar a cada uno (seleccione la fuente)
- Haga clic + Nuevo paso, elegir Aplicar a cada uno.
- Configurar:
- Seleccione una salida de los pasos anteriores. (expresión):
body('List_files_in_folder')
- Seleccione una salida de los pasos anteriores. (expresión):

Paso 4b: Obtener el contenido del archivo (dentro del bucle)
- Dentro del bucle, haga clic Agregar una acción, elegir Dropbox: Obtener el contenido del archivo.
- Configurar:
- Archivo: elige el Identificación token de los archivos de la lista en el contenido dinámico de la carpeta (se resuelve automáticamente al ID del elemento actual).
- Inferir tipo de contenido:
Yes(en Parámetros avanzados)

Paso 4c: Agregar a la variable de matriz (dentro del bucle)
- A continuación, obtenga el contenido del archivo. Agregar una acción, elegir Agregar a la variable de matriz.
- Configurar:
- Nombre:
Files - Valor (expresión, clic)
fx):base64ToBinary(body('Get_file_content')?['$content'])
- Nombre:

Esta es la frase que lo une todo. Dropbox devuelve cada archivo como { "$content": "<base64 string>", "$content-type": "application/pdf" }La acción de fusión requiere un búfer binario. base64ToBinary(...) en $contenido une los dos. Omite la conversión y la acción de fusión genera errores con "contenido no válido".
Paso 5: PDF4me: Combinar varios archivos PDF en un solo archivo PDF
Flujo hasta ahora: Activar más Listar archivos más Inicializar variable más Aplicar a cada uno más Combinar varios PDF.
Se introduce todo el conjunto de datos y se obtiene un único archivo PDF.
- Debajo de Aplicar a cada bucle, haga clic en + Nuevo paso, buscar PDF4me, elegir Combinar varios archivos PDF en un único archivo PDF..
- Conectar PDF4me Conéctate con tu clave API (solo la primera vez).
- Configurar:
- Cuerpo/Contenido del documento: elige el
Filestoken variable - Nombre del archivo de salida:
Output.pdf
- Cuerpo/Contenido del documento: elige el
Configuración de acción de fusión

- Los PDF se concatenan en orden de la matriz, que es el orden en que Dropbox los devolvió (normalmente alfabético por nombre). Si necesita un orden diferente, ordene
body('List_files_in_folder')con un Seleccionar acción antes del bucle, por ejemplo, medianteLastModifiedpara los más recientes primero.
Consejo. El interno Salida.pdf El nombre es simplemente el título de los metadatos del PDF, no el nombre del archivo de Dropbox. El nombre real de Dropbox se establece en el paso 6. Consérvelo como un marcador de posición estable para poder buscar ejecuciones de flujo por él en el historial de ejecuciones de Power Automate.
Paso 6: Dropbox: Crear archivo con un nombre de archivo dinámico
Flujo hasta ahora: Activar más Listar archivos más Inicializar variable más Aplicar a cada uno más Combinar varios PDF más Crear archivo.
Guarda el PDF combinado en Dropbox con un nombre de archivo calculado en tiempo de ejecución que incluya el número de archivos.
- Haga clic + Nuevo paso, elegir Dropbox: Crear archivo.
- Configurar:
- Ruta de la carpeta:
/blog data/merge blog template/output - Nombre del archivo (expresión, clic)
fx):concat('merge-', string(length(body('List_files_in_folder'))), '.pdf') - Contenido del archivo: elige el Contenido del archivo token de la acción Combinar varios PDF
- Ruta de la carpeta:
expresión de nombre de archivo

Listo para la acción final

La misma expresión también expone encabezados/Número de páginas en el resultado de la fusión, útil si alguna vez desea registrar cuántas páginas contiene el PDF consolidado.
Consejo. Si prefiere marcar la ejecución con una fecha en lugar de un número de archivos, cambie la expresión por concat('merge-', utcNow('yyyy-MM-dd-HHmmss'), '.pdf'). Los archivos llegan como fusionar-2026-06-12-094501.pdf y las repeticiones nunca coinciden.
Ejecuta el flujo y verifica.
- Ahorrar el flujo en la parte superior derecha.
- Arrastra un archivo (o cuatro) a
/blog data/merge files dropboxCualquier cosa sirve, el intervalo de sondeo activa el disparador en un par de minutos. - Abrir el Historial de ejecución en la parte superior derecha y observa cómo las acciones se ponen verdes. Aplicar a cada una debería mostrar el número de iteraciones correcto, "1 de 4" si había cuatro archivos en la carpeta.
- Abrir Dropbox en
/blog data/merge blog template/output/. Un archivo llamadomerge-4.pdfEstá esperando. Ábrelo, todos los PDF de la carpeta de entrada se unen en un solo documento.
¿Qué construiste exactamente? Un sistema de consolidación automatizado que reacciona a cada nueva carga, lee el estado completo de la carpeta en tiempo de ejecución y genera un único PDF con un nombre único que contiene todos los archivos actuales. Sin listas predefinidas, sin tareas programadas por lotes, sin clics manuales. El mismo proceso gestiona 4 o 400 PDF sin necesidad de realizar cambios. Esta misma configuración funciona en Make (iterando sobre la lista de archivos de Dropbox) y Zapier (recorriendo los resultados de la búsqueda de archivos con Zapier).
Variaciones comunes que puedes agregar sin reconstruir
terminaCon(toLower(item()?['Nombre']), '.pdf')El bucle ignora entonces los archivos .docx, .png y cualquier otro archivo que haya en la carpeta.ordenar(cuerpo('Listar_archivos_en_la_carpeta'), 'Última_modificación'). Invertir con contrarrestar(...) Si desea que los elementos más recientes aparezcan en la parte superior del PDF combinado.PDF/A-2bEl contenido que se guarda en Dropbox ahora cumple con la norma de archivo ISO 19005./procesadoLa siguiente ejecución solo verá las nuevas subidas.Solución de problemas
Agregar a la matriz Valor La expresión no está envuelta en base64ToBinary(...)Sin la conversión, la matriz contiene cadenas base64 en lugar de búferes binarios y PDF4me las rechaza. Vuelva a abrir Agregar a la matriz, cambie al editor de expresiones y pegue. base64ToBinary(body('Get_file_content')?['$content']) literal.
El disparador se activó, pero la lista de archivos devolvió una matriz vacía. Compruebe el disparador y la lista de archivos. Carpeta Los valores son idénticos. Las discrepancias en las rutas (una con una barra diagonal al final y la otra sin ella) son una causa común.
fusionar-.pdfEl longitud() La llamada no se resolvió en tiempo de diseño. Asegúrese de haber pegado la expresión en el Nombre del archivo campo a través del efectos Editor de expresiones, no texto plano. El texto plano deja las llaves como caracteres literales y la función nunca se ejecuta.
Dos ejecuciones consecutivas con el mismo número de archivos producen nombres idénticos (fusionar-4.pdf). O bien cambie la expresión a una marca de tiempo (concat('merge-', utcNow('yyyy-MM-dd-HHmmss'), '.pdf')) o agregar un GUID con guid().
Próximos pasos
El mismo patrón de seis pasos (observar, luego listar, luego iterar a un array, luego fusionar y finalmente guardar con un nombre de ejecución) gestiona cualquier automatización de "reacción a una carpeta". Si mañana añades un archivo nuevo, la ejecución lo detectará. Sin ediciones, sin redistribución.