Générez des invitations personnalisées et fusionnez-les en un seul PDF avec Power Automate : un flux de travail Dropbox en 7 étapes

Le plus pénible avec les envois en nombre, ce n'est pas d'écrire la lettre, c'est de assembler les exemplaires personnalisés Ainsi, les services finance, RH ou opérations reçoivent un seul PDF propre au lieu de cinquante pièces jointes. Ce guide détaille le processus exact. Power Automate avec PDF4me Générer des documents (multiples), Fusionner plusieurs fichiers PDF, Dropboxet une seule boucle « Appliquer à chaque ». Sept actions de flux. Un modèle DOCX. Un tableau JSON de destinataires. Le résultat est un PDF consolidé, une page par destinataire, nommé et automatiquement téléchargé sur Dropbox.
Le flux est structuré en deux étapes Dropbox. La fonction « Générer des documents (multiples) » de PDF4me produit un PDF personnalisé par destinataire. Une boucle « Appliquer à chaque » enveloppe chaque étape. fluxFichier dans base64ToBinary(...) et l'ajoute à une variable de type tableau. La fonction Fusionner plusieurs fichiers PDF de PDF4me assemble le tableau en un seul PDF consolidé. Dropbox Créer un fichier Il réécrit la valeur. Le flux s'exécute en moins d'une minute pour un lot de deux destinataires et sa mise à l'échelle est linéaire. Aucune expression personnalisée n'est requise, hormis celle-ci. base64ToBinary appel.
Questions et réponses basées sur le pourquoi
Pourquoi générer plusieurs documents au lieu d'un seul ? La variante « Single » prend un enregistrement et génère un seul PDF. Pour produire N PDF, il faut l'appeler N fois, chaque appel ajoutant un événement de facturation et un aller-retour réseau. La variante « Multiple » prend l'ensemble du tableau JSON en un seul appel et renvoie les N PDF simultanément. corps/documents de sortieUn seul appel, une seule facturation, lot complet.
Pourquoi une variable de type tableau et l'application à chaque élément ? La fonction Générer des documents (multiples) génère chaque PDF sous forme de chaîne base64. fluxFichierLa fusion de plusieurs fichiers PDF nécessite une collection de fichiers binaires. La boucle « Appliquer à chaque » fait le lien entre les deux : convertir chaque chaîne base64 en un fichier binaire. base64ToBinary(...) et l'ajouter à une variable de tableau nommée fusionner les fichiersAprès la boucle, le tableau correspond à la collection attendue par l'action de fusion.
Pourquoi le format DOCX plutôt que PDF ? jetons de fusion DOCX (<<[Prénom]>>, <<[HC_WoM_Date]>>Les champs de formulaire sont intégrés au corps du texte et lus directement par le moteur PDF4me. Les modèles PDF nécessitent un schéma de champs prédéfini, ce qui est superflu pour une lettre. De plus, Word, Office 365 et Google Docs exportent déjà au format DOCX ; les auteurs peuvent donc modifier le modèle sans quitter leur outil de traitement de texte.
Pourquoi fusionner les fichiers en un seul PDF ? Les contrôles de conformité, les impressions par lots, les pistes d'audit des signatures et l'archivage ultérieur privilégient tous un seul PDF consolidé à plusieurs pièces jointes. Si vous avez besoin de récupérer les fichiers individuels, déposez un Fractionner le PDF par nombre de pages = 1 Il suffit d'effectuer l'action avant l'étape 7 pour obtenir les deux mondes sans avoir à reconstruire le reste du flux.
Ce que vous obtiendrez
Saisir: Un modèle DOCX avec <<[merge_token]>> espaces réservés dans /blog data/merge blog template/template.docx, plus un tableau JSON de destinataires collé dans l'action Générer des documents (multiple). Sortir: Un seul PDF nommé Merged_files.pdf téléchargé sur /blog data/merge blog template/outputChaque destinataire reçoit une page personnalisée, dans le même ordre que le tableau JSON. Le modèle reste inchangé dans son dossier source, garantissant ainsi l'idempotence des exécutions ultérieures.
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 modèle sert de source, tandis que le PDF fusionné est enregistré à destination. SharePoint, OneDrive et Google Drive fonctionnent de la même manière avec leurs connecteurs respectifs.
- Un modèle DOCX avec des jetons de fusionUtilisez la syntaxe à double chevron (
<<[NomDuChamp]>>). La procédure pas à pas utilisemodèle.docx, tu peux Téléchargez le modèle exact utilisé dans ce tutoriel. et déposez-le dans Dropbox pour dupliquer chaque capture d'écran. - Un tableau JSON de destinatairesUn objet par destinataire, les clés correspondant exactement aux jetons du modèle. Téléchargez l'exemple JSON.
Commencez par télécharger les fichiers d'exemple. Baisse Modèle.docx dans /données du blog/fusionner le modèle de blog/ Enregistrez le fichier JSON dans votre Dropbox et conservez-le dans un bloc-notes. Chaque valeur de capture d'écran ci-dessous correspondra alors à ce que vous voyez dans votre propre flux.
Aperçu du flux
- Déclencher manuellement un flux (déclenchement).
- Dropbox : Récupérer le contenu d'un fichier à partir de son chemin d'accès. Lit
template.docxde Dropbox. - PDF4me : Générer des documents (multiples)Modèle plus tableau JSON des destinataires en entrée, tableau de PDF personnalisés en sortie.
- Variable d'initialisation nommé
mergefiles(Tableau). - Appliquer à chaque sur
body/outputDocuments, avec Ajouter à la variable de tableau en utilisantbase64ToBinary(...)à l'intérieur. - PDF4me : Fusionner plusieurs fichiers PDF en un seul fichier PDF. Tableau de fichiers binaires en entrée, un PDF en sortie.
- Dropbox : Créer un fichier. Écrit
Merged_files.pdfRetour à Dropbox.
Aperçu complet du flux

Sept actions. Chaque carte affiche une coche verte lorsqu'elle est configurée. PDF4me apparaît deux fois au centre : une fois pour générer, une fois pour fusionner.
Étape 0 : Le modèle DOCX
Avant l'exécution de tout flux, le modèle a besoin des jetons de fusion appropriés. <<[FieldName]>> L'espace réservé est remplacé une seule fois par destinataire. L'orthographe et la casse doivent correspondre exactement aux clés JSON.
Aperçu du modèle

Le format DOCX utilise la syntaxe des doubles chevrons. Aucun caractère spécial, aucun XML, seulement des espaces réservés littéraux que le moteur PDF4me lit directement.
Étape 1 : Déclencher manuellement un flux
Flux jusqu'à présent : Déclencheur uniquement.
- Dans Power Automate cliquez Créer, choisir Flux nuageux instantané.
- Prendre Déclencher manuellement un flux comme déclencheur.
- Donnez un nom au flux (par exemple,
Bulk Invitation Mailout) et cliquez Créer. - Laissez les champs de déclenchement vides pour le moment. Les déclencheurs de production réels (requête HTTP, mise à jour d'une liste SharePoint, planification) seront intégrés ici une fois que le reste du flux sera fonctionnel.
Étape 2 : Dropbox : Récupérer le contenu du fichier à partir du chemin d’accès
Flux jusqu'à présent : Déclencheur plus Obtenir le contenu du fichier.
Intègre le modèle DOCX dans le flux sous forme d'octets bruts afin que la fonction Générer des documents puisse l'utiliser directement.
- Cliquez + Nouvelle étape, recherche Dropbox, prendre Récupérer le contenu du fichier à l'aide du chemin d'accès.
- Connecter Dropbox si vous ne l'avez pas déjà fait.
- Configure:
- Chemin du fichier:
/blog data/merge blog template/template.docx - Déduire le type de contenu:
Yes
- Chemin du fichier:
- Sauvegarder le flux et effectuer un test rapide. L'action renvoie un
File Contentjeton contenant le modèle binaire.
Obtenir la configuration du contenu du fichier

L'option « Infer Content Type Yes » permet aux actions PDF4me en aval d'accepter le fichier comme un véritable DOCX, et non comme un flux générique.
Étape 3 : PDF4me : Générer des documents (multiples)
Flux jusqu'à présent : Déclencheur plus Obtenir le contenu du fichier plus Générer des documents (multiples).
C'est ici qu'un fichier DOCX et un tableau JSON se transforment en N PDF personnalisés en un seul appel d'action.
- Cliquez + Nouvelle étape, recherche PDF4me, prendre Générer des documents (multiples).
- Connecter PDF4me Connectez-vous avec votre clé API (première fois uniquement).
- Configure la partie supérieure de l'action :
- Type de fichier modèle:
Docx - Nom du fichier modèle:
Test.docx(étiquette seulement, pas un chemin) - Données du fichier modèle: choisissez le Contenu du fichier jeton de l'étape 2
- Type de données du document:
Json
- Type de fichier modèle:
Étape 3a : Haut de l’action

- Collez le tableau JSON dans Texte des données du documentLe tutoriel utilise deux destinataires (John Doe, X AB). Chaque objet possède les mêmes 19 clés, chaque clé correspondant à un objet.
<<[Token]>>dans le modèle DOCX.
Étape 3b : La charge utile JSON

[
{
"DebtorNumber": "100001",
"Salutation": "Mr",
"Title": "Dr.",
"FirstName": "John",
"LastName": "Doe",
"CareOfAddress": "c/o Accounting Department",
"Address": "123 Main Street",
"POBox": "PO Box 123",
"PostalCode": "10001",
"City": "New York",
"Country": "United States",
"HC_Name": "ABC Business Association",
"SalutationText": "Dear Dr. Doe",
"HC_Phone": "+1-212-555-0100",
"HC_WoM_RegistrationDeadline": "2026-05-22",
"HC_Street": "500 Park Avenue",
"HC_PostalCodeCity": "10022 New York",
"HC_WoM_Date": "2026-05-29",
"HC_WoM_Time": "10:00"
},
{
"DebtorNumber": "100001",
"Salutation": "Mr",
"Title": "Dr.",
"FirstName": "X",
"LastName": "AB",
"CareOfAddress": "c/o Accounting Department",
"Address": "123 Main Street",
"POBox": "PO Box 123",
"PostalCode": "10001",
"City": "New York",
"Country": "United States",
"HC_Name": "ABC Business Association",
"SalutationText": "Dear Dr. Doe",
"HC_Phone": "+1-212-555-0100",
"HC_WoM_RegistrationDeadline": "2026-05-22",
"HC_Street": "500 Park Avenue",
"HC_PostalCodeCity": "10022 New York",
"HC_WoM_Date": "2026-05-29",
"HC_WoM_Time": "10:00"
}
]
- Configure la moitié inférieure :
- Métadonnées de champ: laisser vide (facultatif, pour la mise en forme de la devise, de la date ou du nombre)
- Type de sortie:
PDF - Conserver le modèle PDF modifiable:
No
Étape 3c : Type de sortie

- Enregistrer et testerL'action se termine.
body/outputDocuments, un tableau d'objets, un par destinataire. Chaque objet porte unstreamFilepropriété contenant le PDF personnalisé sous forme de chaîne base64.
Conseil. Les clés JSON manquantes sont interprétées comme des chaînes vides dans le PDF de sortie, et non comme des erreurs. Cela tolère les données partielles, mais signifie aussi que les fautes de frappe ne sont pas prises en compte. Comparez votre liste de jetons avec les clés JSON avant la mise en production ; les deux sont sensibles à la casse.
Étape 4 : Initialiser les fichiers de fusion de variables
Flux jusqu'à présent : Déclencheur plus Obtenir le contenu du fichier plus Générer des documents (multiples) plus Initialiser la variable.
L'action de fusion requiert une collection de fichiers binaires. Créez un tableau vide pour les stocker.
- Cliquez + Nouvelle étape, prendre Variable d'initialisation.
- Configure:
- Nom:
mergefiles - Taper:
Array - Valeur: laisser vide
- Nom:
Initialiser la configuration des variables

L'initialisation des variables précède toujours la première application à chaque élément qui en a besoin. Power Automate impose cette règle dès la conception.
Étape 5 : Appliquer à chaque variable et ajouter à la variable du tableau
Flux jusqu'à présent : Déclencheur + Obtenir le contenu du fichier + Générer des documents (multiples) + Initialiser la variable + Appliquer à chaque.
Parcourez les fichiers PDF et convertissez chacun d'eux en un tampon binaire.
Étape 5a : Appliquer à chaque (choisir la source)
- Cliquez + Nouvelle étape, prendre Appliquer à chaque.
- Configure:
- Sélectionnez une sortie parmi les étapes précédentes: prendre
body/outputDocumentsà partir de l'action Générer des documents (multiples)
- Sélectionnez une sortie parmi les étapes précédentes: prendre

Étape 5b : Ajouter à la variable de tableau (à l’intérieur de la boucle)
- Dans le bouton Appliquer à chaque conteneur Ajouter une action, prendre Ajouter à la variable de tableau.
- Configure:
- Nom:
mergefiles - Valeur (expression, clic)
fx):base64ToBinary(items('Apply_to_each')?['streamFile'])
- Nom:

C'est le fil conducteur qui relie tout. Générer des documents (multiples) émet des chaînes base64 sur fluxFichierLa fusion de plusieurs fichiers PDF nécessite des tampons binaires. base64ToBinary(...) Il s'agit du pont. Sans lui, l'action de fusion génère une erreur de « contenu invalide ».
Étape 6 : PDF4me : Fusionner plusieurs fichiers PDF en un seul fichier PDF
Flux jusqu'à présent : Déclencher plus Obtenir le contenu du fichier plus Générer des documents (multiples) plus Initialiser la variable plus Appliquer à chaque plus Fusionner plusieurs PDF.
L'ensemble du tableau est maintenant 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.
- Configure:
- Corps/docContenu: choisissez le
mergefilesjeton variable - Nom du fichier de sortie:
Test.pdf
- Corps/docContenu: choisissez le
Configuration de l'action de fusion

- L'action concatène les PDF dans ordre du tableauIl s'agit de l'ordre JSON. Si votre client en aval attend un tri spécifique (alphabétique, par numéro de débiteur, par région), triez le JSON avant l'étape 3 ; le reste du flux conservera cet ordre.
Conseil. Besoin d'un nom de fichier de sortie différent à chaque exécution ? Générez-le dynamiquement avec concat('Invitations_', utcNow('yyyy-MM-dd'), '.pdf') Dans le champ Nom du fichier de sortie. Le PDF fusionné est horodaté et les exécutions ultérieures n'écrasent pas les fichiers existants.
Étape 7 : Dropbox : Créer un fichier
Flux jusqu'à présent : Déclencher plus Obtenir le contenu du fichier plus Générer des documents (multiples) plus Initialiser la variable plus Appliquer à chaque plus Fusionner plusieurs PDF plus Créer un fichier.
Réinscrivez le PDF fusionné dans Dropbox.
- Cliquez + Nouvelle étape, prendre Dropbox, Créer un fichier.
- Configure:
- Chemin du dossier:
/blog data/merge blog template/output - Nom de fichier:
Merged_files.pdf - Contenu du fichier: choisissez le Contenu du fichier jeton de l'étape 6 (Fusionner plusieurs PDF)
- Chemin du dossier:
- Sauvegarder le flux.
Créer une configuration de fichier

Exécutez le flux et vérifiez
- Cliquez Test en haut à droite, choisissez Manuellement, cliquez Test, alors Flux d'exécution.
- Le panneau d'exécution du flux devient vert à chaque action. La génération de documents (multiples) prend généralement une seconde par enregistrement sur un modèle de page unique. La fusion de plusieurs PDF ajoute une ou deux secondes supplémentaires pour deux destinataires.
- Ouvrez Dropbox à
/blog data/merge blog template/output/Le fichierMerged_files.pdfy a-t-il.
Le résultat, côte à côte


Qu'avez-vous construit concrètement ? Un envoi groupé entièrement automatisé qui transforme une lettre DOCX et une liste de destinataires JSON en un seul PDF, prêt à être imprimé, signé, archivé ou joint. Ce modèle fonctionne aussi bien avec deux destinataires qu'avec deux mille, sans aucune modification des champs. Il est compatible avec Make (module Iterator + PDF4me Merge) et Zapier (boucle Zapier + action PDF4me Merge).
Variantes courantes que vous pouvez ajouter sans reconstruction
Fichiers_fusionnés.pdf et le courrier est directement acheminé vers les services financiers, opérationnels ou d'impression sans passer par Dropbox.PDF/A-2bLa copie Dropbox est alors prête à être archivée et conforme à la norme ISO 19005.Dépannage
Le Valeur L'expression dans Ajouter au tableau n'est pas enveloppée dans base64ToBinary(...)Sans conversion, l'action de fusion reçoit des chaînes base64 au lieu de tampons binaires. Rouvrez « Ajouter au tableau », passez à l'éditeur d'expressions et collez. base64ToBinary(items('Apply_to_each')?['streamFile']) textuellement.
Une clé JSON ne correspond pas à un jeton de modèle. L'option « Générer des documents (multiples) » remplace les clés manquantes par des chaînes vides, ce qui est tolérant mais peut entraîner des erreurs de frappe silencieuses. Comparez votre liste de jetons DOCX avec les clés JSON ; les deux sont sensibles à la casse.
La boucle Apply to each itère sur la mauvaise source. Ouvrez la boucle et vérifiez. Sélectionnez une sortie parmi les étapes précédentes points à corps/documents de sortie (le tableau), et non pas une propriété unique d'un enregistrement.
L'ordre des pages correspond à l'ordre JSON. Triez le tableau JSON avant de générer les documents (multiples) à l'aide d'un Sélectionner ou Composer action permettant aux destinataires d'arriver dans l'ordre souhaité.
Prochaines étapes
Le même schéma en sept étapes (déclenchement, récupération du modèle, génération du lot, traitement par tableau, fusion, puis enregistrement) fonctionne pour tout envoi groupé personnalisé dans Power Automate. Envoyez-en un, et les suivants ne vous coûteront presque rien.