Fusion automatique de tous les PDF déposés dans un dossier Dropbox avec Power Automate : un flux de travail dynamique en 6 étapes

Le plus pénible avec les tickets « fusionner ces PDF », ce n'est pas la fusion en elle-même, c'est… savoir ce qui se trouve dans le dossier au moment de l'exécutionLes noms changent, les fichiers apparaissent et disparaissent, quelqu'un ajoute un cinquième document à 16h55. Ce guide pas à pas reproduit exactement ce schéma. Power Automate avec PDF4me Fusionner plusieurs fichiers PDF, DropboxUne seule action « Appliquer » à chaque boucle. Six actions de flux. Aucun nom de fichier codé en dur. Chaque PDF présent dans le dossier surveillé est assemblé dès l'arrivée d'un nouveau fichier, et le nom du fichier de sortie indique le nombre de fichiers traités, ce qui permet d'identifier chaque exécution de manière unique.
UN Lorsqu'un fichier est créé Le déclencheur Dropbox s'active à chaque nouveau téléchargement. Lister les fichiers du dossier renvoie un instantané de chaque fichier actuellement présent dans le dossier (dans cette exécution, quatre fichiers PDF : Exemple de PDF.pdf, exemple_3_page.pdf, exemple_pdf.pdf, exemple.pdf). Une boucle Apply parcourt cette liste et appelle Récupérer le contenu du fichier par Id, et pousse base64ToBinary(body('Get_file_content')?['$content']) sur une variable de tableau nommée Fichiers. PDF4me Fusionner plusieurs fichiers PDF Consomme le tableau et génère un PDF. Dropbox Créer un fichier réécrit-il comme fusion-4.pdf, car il y avait quatre fichiers d'entrée. Ajoutez un cinquième fichier demain et la prochaine exécution produira fusion-5.pdf automatiquement.
Questions et réponses basées sur le pourquoi
Pourquoi utiliser simultanément le déclencheur et la liste des fichiers du dossier ? Le déclencheur vous fournit un seul événement de nouveau fichier, mais pas une liste garantie et à jour de tout le reste du dossier. Lister les fichiers du dossier Il capture l'état actuel au moment de l'exécution, de sorte que la fusion reflète toujours exactement ce qui se trouve sur le disque à l'instant présent, et non ce qui s'y trouvait lorsque le déclencheur a été activé ou lorsque le flux a été conçu.
Pourquoi récupérer par ID plutôt que par chemin ? Les noms de fichiers peuvent entrer en conflit ou changer. Les identifiants Dropbox sont stables, uniques et ne peuvent pas être renommés. Identifiant à partir des fichiers de liste dans Récupérer le contenu du fichier Cela signifie que la boucle continue de fonctionner même si un utilisateur renomme un fichier en cours de traitement par lots, ou si deux fichiers ont le même nom d'affichage dans des sous-dossiers différents.
Pourquoi base64ToBinary(...) sur $content? Dropbox Récupérer le contenu du fichier renvoie le fichier sous forme de chaîne base64 enveloppée dans un $content La propriété « Fusionner plusieurs fichiers PDF » de PDF4me attend une collection de tampons binaires, et non des chaînes base64. base64ToBinary(body('Get_file_content')?['$content']) est le pont qui convertit chaque fichier dès son arrivée dans le tableau.
Pourquoi construire le nom du fichier de sortie avec concaténer() et longueur()? Encodage dur Résultat.pdf signifie que chaque exécution écrase la précédente. concat('merge-', string(length(body('List_files_in_folder'))), '.pdf') le numéro du fichier est intégré au nom, de sorte que les exécutions consécutives se retrouvent sous la forme fusion-3.pdf, fusion-4.pdf, fusion-5.pdfBonus : un simple coup d’œil au dossier de sortie vous indique le nombre de fichiers inclus à chaque fois.
Ce que vous obtiendrez
Saisir: Un dossier Dropbox à /blog data/merge files dropbox contenant tous les fichiers PDF que vous y déposez. Ce guide utilise quatre : PDFA_Sample.pdf, sample_3_page.pdf, sample_pdf.pdf, sample.pdf. Sortir: Un seul PDF consolidé dans /blog data/merge blog template/output/ nommé merge-N.pdf où N Le nombre de fichiers affiché correspond au nombre de fichiers au moment de l'exécution. Déposez d'autres fichiers ; ils seront automatiquement pris en compte lors de la prochaine exécution.
Le dossier Dropbox avant l'exécution

Le dossier Dropbox après l'exécution

La deuxième exécution comportait quatre fichiers dans le dossier, donc le résultat est : fusion-4.pdfLa précédente série en comptait trois.
Ce dont vous avez besoin
- Power Automate. Ouvrir Power Automate. Tout forfait incluant des connecteurs premium (PDF4me Connect est premium).
- Clé API PDF4me. Obtenez votre clé APIConnectez-le la première fois que vous ajoutez une action PDF4me.
- DropboxLe dossier source contient les fichiers PDF d'entrée, tandis que le dossier de destination contient les fichiers fusionnés. SharePoint, OneDrive et Google Drive fonctionnent de manière identique grâce à leurs connecteurs respectifs.
- Quelques PDFToutes tailles, toutes combinaisons. La démonstration utilise quatre exemples : Exemple de PDF.pdf, exemple_3_page.pdf, exemple_pdf.pdf, exemple.pdfDéposez-les pour reproduire chaque capture d'écran.
Commencez par récupérer les données d'entrée et la sortie attendue. Téléchargez les quatre échantillons dans /données du blog/fusionner les fichiers Dropbox sur votre Dropbox, puis publiez le flux. Votre première exécution devrait produire un fusion-4.pdf identique à celui dont le lien est fourni ici.
Aperçu du flux
- Dropbox : Lorsqu'un fichier est créé (déclenchement).
- Dropbox : Lister les fichiers du dossierRenvoie tous les fichiers actuellement présents dans le dossier surveillé.
- Variable d'initialisation nommé
Files(Tableau). - Appliquer à chaque sur
body('List_files_in_folder'):- Dropbox : Obtenir le contenu du fichier par
Id. - Ajouter à la variable de tableau avec
base64ToBinary(body('Get_file_content')?['$content']).
- Dropbox : Obtenir le contenu du fichier par
- PDF4me : Fusionner plusieurs fichiers PDF en un seul fichier PDF.
Filesdans,Output.pdfdehors. - Dropbox : Créer un fichier. Nom de fichier
concat('merge-', string(length(body('List_files_in_folder'))), '.pdf').
Aperçu complet du flux

Six actions. L'option « Appliquer à chaque carte » affiche « 1 sur 4 » car le dossier surveillé contenait quatre fichiers PDF au moment de l'exécution.
Étape 1 : Dropbox : Lorsqu’un fichier est créé (déclencheur)
Flux jusqu'à présent : Déclencheur uniquement.
- Dans Power Automate cliquez Créer, choisir Flux cloud automatisé.
- Nommez le flux (par exemple,
Auto-Merge Dropbox Folder), prendre Dropbox : Lorsqu'un fichier est créé comme déclencheur, cliquez Créer. - Connecter Dropbox si vous ne l'avez pas déjà fait.
- Configure:
- Dossier:
/blog data/merge files dropbox - Paramètres avancés: laisser la valeur par défaut (0 sur 1 affiché).
- Dossier:
Configuration du déclencheur

Le déclencheur interroge le dossier surveillé et s'active à chaque nouveau chargement. La fréquence d'interrogation par défaut varie selon l'abonnement, généralement de 1 à 5 minutes.
Étape 2 : Dropbox : Lister les fichiers du dossier
Flux jusqu'à présent : Déclencheur plus Lister les fichiers du dossier.
Le déclencheur s'active à la création d'un seul nouveau fichier. La fusion nécessite tous les fichiers PDF présents dans le dossier. Lister les fichiers du dossier prend un instantané du contenu du dossier lors de l'exécution.
- Cliquez + Nouvelle étape, recherche Dropbox, prendre Lister les fichiers du dossier.
- Configure:
- Dossier:
/blog data/merge files dropbox(le même chemin que le déclencheur)
- Dossier:
Configuration des fichiers de liste

- L'action se termine
body('List_files_in_folder'), un tableau d'objets de métadonnées de fichier. Chaque objet contientId,Name,DisplayName,Path,LastModified, etSizeL'étape suivante consiste à parcourir ce tableau.
Conseil. Si votre dossier contient des éléments variés (PDF, images et documents Office) et que vous souhaitez uniquement fusionner les PDF, ajoutez un Tableau de filtres action après cette étape avec l'expression se termine par (en minuscules(élément()?['Nom']), '.pdf') et alimenter la boucle avec le tableau filtré.
Étape 3 : Initialiser les fichiers de variables
Flux jusqu'à présent : Déclencheur + Liste des fichiers + Initialisation de la variable.
L'action de fusion requiert une collection de fichiers binaires. Allouez un tableau vide pour les collecter.
- Cliquez + Nouvelle étape, prendre Variable d'initialisation.
- Configure:
- Nom:
Files - Taper:
Array - Valeur: laisser vide
- Nom:
Initialiser la configuration des variables

Étape 4 : Appliquer à chaque fichier, obtenir son contenu et l’ajouter au tableau
Flux jusqu'à présent : Déclencheur + Liste des fichiers + Initialisation de la variable + Appliquer à chaque.
Voici le cœur du flux. Parcourir chaque fichier renvoyé par l'instantané, récupérer ses octets, les convertir en binaire, puis les envoyer vers Files.
Étape 4a : Appliquer à chaque (choisir la source)
- Cliquez + Nouvelle étape, prendre Appliquer à chaque.
- Configure:
- Sélectionnez une sortie parmi les étapes précédentes (expression):
body('List_files_in_folder')
- Sélectionnez une sortie parmi les étapes précédentes (expression):

Étape 4b : Récupérer le contenu du fichier (à l’intérieur de la boucle)
- À l'intérieur de la boucle, cliquez Ajouter une action, prendre Dropbox : Obtenir le contenu du fichier.
- Configure:
- Déposer: choisissez le Identifiant jeton issu de la liste des fichiers dans le contenu dynamique du dossier (il est automatiquement résolu en l'identifiant de l'élément actuel).
- Déduire le type de contenu:
Yes(sous Paramètres avancés)

Étape 4c : Ajouter à la variable de tableau (à l’intérieur de la boucle)
- Ci-dessous, récupérer le contenu du fichier, Ajouter une action, prendre Ajouter à la variable de tableau.
- Configure:
- Nom:
Files - Valeur (expression, clic)
fx):base64ToBinary(body('Get_file_content')?['$content'])
- Nom:

C'est le fil conducteur qui relie tout. Dropbox renvoie chaque fichier sous forme de { "$content": "<base64 string>", "$content-type": "application/pdf" }L'action de fusion requiert un tampon binaire. base64ToBinary(...) sur $content Permet de faire le lien entre les deux. Ignore la conversion et l'action de fusion qui génère des erreurs de « contenu invalide ».
Étape 5 : PDF4me : Fusionner plusieurs fichiers PDF en un seul fichier PDF
Flux jusqu'à présent : Déclencher plus Lister les fichiers plus Initialiser la variable plus Appliquer à chaque plus Fusionner plusieurs PDF.
L'ensemble des données est entré et un seul fichier PDF est généré.
- Sous le bouton Appliquer à chaque boucle + Nouvelle étape, recherche PDF4me, prendre Fusionner plusieurs fichiers PDF en un seul fichier PDF.
- Connecter PDF4me Connectez-vous avec votre clé API (première fois uniquement).
- Configure:
- Corps/docContenu: choisissez le
Filesjeton variable - Nom du fichier de sortie:
Output.pdf
- Corps/docContenu: choisissez le
Configuration de l'action de fusion

- Les fichiers PDF sont concaténés dans ordre du tableau, c'est-à-dire l'ordre dans lequel Dropbox les a renvoyés (généralement par ordre alphabétique). Si vous avez besoin d'un ordre différent, triez
body('List_files_in_folder')avec un Sélectionner action avant la boucle, par exemple parLastModifieddu plus récent au plus ancien.
Conseil. L'intérieur Résultat.pdf Le nom correspond au titre des métadonnées du PDF, et non au nom du fichier Dropbox. Le nom Dropbox réel est défini à l'étape 6. Conservez cette valeur comme variable temporaire afin de pouvoir rechercher les exécutions de flux correspondantes dans l'historique d'exécution de Power Automate.
Étape 6 : Dropbox : Créer un fichier avec un nom de fichier dynamique
Flux jusqu'à présent : Déclencher plus Lister les fichiers plus Initialiser la variable plus Appliquer à chaque plus Fusionner plusieurs PDF plus Créer un fichier.
Réenregistrez le PDF fusionné sur Dropbox avec un nom de fichier calculé dynamiquement qui inclut le nombre de fichiers.
- Cliquez + Nouvelle étape, prendre Dropbox : Créer un fichier.
- Configure:
- Chemin du dossier:
/blog data/merge blog template/output - Nom de fichier (expression, clic)
fx):concat('merge-', string(length(body('List_files_in_folder'))), '.pdf') - Contenu du fichier: choisissez le Contenu du fichier jeton de l'action Fusionner plusieurs PDF
- Chemin du dossier:
Expression du nom de fichier

Action finale prête

La même expression révèle également en-têtes/Nombre de pages sur le résultat de la fusion, utile si vous souhaitez enregistrer le nombre de pages que contient le PDF consolidé.
Conseil. Si vous préférez horodater l'exécution plutôt que d'indiquer le nombre de fichiers, remplacez l'expression par concat('merge-', utcNow('yyyy-MM-dd-HHmmss'), '.pdf')Les fichiers atterrissent sous forme de fusion-2026-06-12-094501.pdf et les rediffusions ne se chevauchent jamais.
Exécutez le flux et vérifiez
- Sauvegarder le flux en haut à droite.
- Déposez un fichier (ou quatre) dans
/blog data/merge files dropboxN'importe quelle valeur fera l'affaire, l'intervalle d'interrogation déclenche l'action en quelques minutes. - Ouvrez le Historique des courses En haut à droite, les actions deviennent vertes. L'option « Appliquer à chaque » devrait afficher le nombre d'itérations correct, par exemple « 1 sur 4 » si le dossier contient quatre fichiers.
- Ouvrez Dropbox à
/blog data/merge blog template/output/Un fichier nommémerge-4.pdfIl vous attend. Ouvrez-le : tous les PDF du dossier d’entrée sont assemblés en un seul document.
Qu'avez-vous construit concrètement ? Un pipeline de consolidation entièrement automatisé qui réagit à chaque nouveau chargement, analyse l'état complet du dossier en temps réel et génère un unique PDF contenant tous les fichiers. Aucune liste codée en dur, aucun traitement par lots planifié, aucun clic manuel. Ce processus gère aussi bien 4 PDF que 400 sans aucune modification. Il est également compatible avec Make (itérateur sur la liste des fichiers Dropbox) et Zapier (boucle sur les résultats de recherche de fichiers).
Variantes courantes que vous pouvez ajouter sans reconstruction
se termine par (en minuscules(élément()?['Nom']), '.pdf')La boucle ignore ensuite les fichiers .docx, .png et tout autre fichier présent dans le dossier.trier(corps('List_files_in_folder'), 'DernièreModification'). Inverser avec inverse(...) si vous souhaitez que les éléments les plus récents apparaissent en haut du PDF fusionné.PDF/A-2bLes fichiers déposés dans Dropbox sont désormais conformes à la norme d'archivage ISO 19005./traitéLa prochaine exécution ne prendra en compte que les nouveaux téléchargements.Dépannage
Ajouter au tableau Valeur L'expression n'est pas enveloppée dans base64ToBinary(...)Sans conversion, le tableau contient des chaînes base64 au lieu de tampons binaires, et PDF4me les rejette. Rouvrez « Ajouter au tableau », passez à l’éditeur d’expressions et collez. base64ToBinary(body('Get_file_content')?['$content']) textuellement.
Le déclencheur a fonctionné, mais la commande List Files a renvoyé un tableau vide. Vérifiez le déclencheur et la commande List Files. Dossier Les valeurs sont identiques. Les différences de chemin (l'un avec une barre oblique finale, l'autre sans) en sont une cause fréquente.
fusion-.pdfLe longueur() L'appel n'a pas été résolu au moment de la conception. Assurez-vous d'avoir collé l'expression dans le Nom de fichier champ via le fx L'éditeur d'expressions est utilisé, et non le mode texte brut. En mode texte brut, les accolades sont interprétées littéralement et la fonction n'est jamais exécutée.
Deux exécutions consécutives avec le même nombre de fichiers produisent des noms identiques (fusion-4.pdf). Soit remplacer l'expression par un horodatage (concat('merge-', utcNow('yyyy-MM-dd-HHmmss'), '.pdf')) ou ajouter un GUID avec guid().
Prochaines étapes
Le même processus en six étapes (observation, puis liste, boucle vers tableau, fusion, puis enregistrement avec un nom d'exécution) gère toute automatisation de type « réaction à un dossier ». Déposez un nouveau fichier demain : l'exécution le détectera. Aucune modification, aucun redéploiement.