E-Mail-Text und alle Anhänge in eine einzige PDF-Datei umwandeln – mit Power Automate: Ein 7-stufiger Workflow mit Outlook und PDF4me

Der schmerzhafte Teil von E-Mail-gesteuerten Arbeitsabläufen ist nicht die E-Mail selbst, sondern die alles, was dazugehörtDer Nachrichtentext enthält den Kontext (Wer hat die Nachricht gesendet, warum, was zu tun ist), die Anhänge die Dokumente (Rechnung, Formular, unterschriebener Vertrag). Werden diese separat gespeichert, benötigt man später drei Klicks, um die Nachricht wiederherzustellen. Diese Anleitung zeigt genau dieses Muster. Power Automate mit PDF4me Konvertierung zu PDF, PDF4me Mehrere PDF-Dateien zusammenführen, Ausblick, Dropboxund eine einzelne „Auf jedes Element anwenden“-Schleife. Sieben Flow-Aktionen. Eine eingehende E-Mail trifft ein. Eine konsolidierte PDF-Datei wird versendet, zuerst der Text, dann die Anhänge einzeln, mit Zeitstempel versehen und automatisch im Archivordner abgelegt.
Ein Ausblick Wenn eine neue E-Mail eintrifft (V3) Der Trigger wird ausgelöst, sobald eine Nachricht eintrifft bei [email protected]Eine Array-Variable namens E-Mail öffnet sich. PDF4me In PDF konvertieren Zuerst wird der HTML-Body in ein PDF umgewandelt, der konvertierte Body wird dann als Seite 1 in das Array eingefügt. Auf jedes Element anwenden durchläuft jeden Anhang (in diesem Durchlauf zwei DOCX-Dateien: 3Page.docx, Docx_2Pages.docxPDF4me wandelt jede Datei in eine PDF-Datei um und fügt sie der Reihe nach an. Mehrere PDF-Dateien zusammenführen Dropbox verarbeitet das gesamte Array und gibt eine zusammengefasste PDF-Datei aus. Datei erstellen schreibt es zurück als merge-20260611-103323.pdfEin mit einem Zeitstempel versehener Name, der keine Konflikte verursacht. Zuerst der Hauptteil, dann die Anhänge in der richtigen Reihenfolge: eine PDF-Datei, ein Ordner – bereit für die Revision.
Warum-basierte Fragen und Antworten
Warum sollte der Textkörper zuerst in PDF konvertiert werden? Der Textkörper liefert den Kontext: Wer hat die Nachricht gesendet, warum, was ist zu tun? Ihr zukünftiges Ich, das die zusammengefasste PDF-Datei liest, möchte, dass Seite 1 die Ausgangslage darlegt, bevor die Anhänge folgen. Konvertierung triggerOutputs()?['body/body'] (den HTML-Body) zuerst in ein PDF einzufügen bedeutet, dass die Zusammenführungsaktion die Nachricht selbst als Hauptdokument erkennt und nicht als separaten Textauszug.
Warum eine Array-Variable sowohl für den Body als auch für die Anhänge? Die Zusammenführungsaktion benötigt eine einzelne, sortierte Sammlung. Initialisieren Sie diese einmalig, fügen Sie in Schritt 4 den Dokumentkörper hinzu und in Schritt 5 jeden konvertierten Anhang. Das Array entspricht dann exakt der gewünschten Dokumentreihenfolge. Zwei separate Arrays würden später eine Compose-Aktion erfordern, die diese zusammenführt – unnötiger Aufwand für dasselbe Ergebnis.
Warum base64ToBinary bei jedem Druckstoß? PDF4me Convert to PDF gibt seine Ausgabe als Base64-String zurück, der in einen Binärcode eingebettet ist. $contentOutlook-Anhänge werden als Base64-kodierte Dateien empfangen. contentBytesPDF4me benötigt zum Zusammenführen mehrerer PDF-Dateien Binärpuffer. base64ToBinary(...) Die Verbindung zwischen den beiden Datenquellen wird hergestellt, wobei lediglich auf unterschiedliche Eigenschaftsnamen verwiesen wird. Die Konvertierung wird übersprungen, und die Zusammenführungsaktion führt zu Fehlern mit der Meldung „Ungültiger Inhalt“.
Warum ein mit einem Zeitstempel versehener Ausgabename? Zwei E-Mails desselben Absenders innerhalb einer Stunde würden kollidieren, wenn der Dateiname konstant wäre. concat('merge-', formatDateTime(utcNow(), 'yyyyMMdd-HHmmss'), '.pdf') erzeugt Namen wie merge-20260611-103323.pdflexikografisch sortierbar, sekundengenau eindeutig und sofort als UTC-Zeitstempel lesbar.
Was Sie erhalten
Eingang: Alle eingehenden E-Mails an die überwachte Adresse (hier, [email protected]) mit einem oder mehreren Anhängen. Diese Anleitung verwendet einen kurzen Nachrichtentext („Hallo, ich hoffe, es geht Ihnen gut…“) und zwei DOCX-Anhänge (3Page.docx, Docx_2Pages.docx). Ausgabe: Eine einzelne konsolidierte PDF-Datei wurde eingefügt in /blog data/merge blog template/output/, benannt merge-YYYYMMDD-HHmmss.pdfSeite 1 ist der Hauptteil. Ab Seite 2 sind die einzelnen Anhänge in der Reihenfolge ihrer Auflistung in Aspose Words dargestellt.
Die eingehende E-Mail

Der Ablauf überwacht den Outlook-Posteingang um [email protected]Sobald Gmail eine E-Mail weiterleitet oder diese Adresse die E-Mail direkt empfängt, wird der Auslöser betätigt.
Der Dropbox-Ausgabeordner nach zwei Durchläufen

Seite 1 der zusammengeführten PDF-Datei

Seite 1 ist der konvertierte E-Mail-Text. Ab Seite 2 befindet sich der erste Anhang (3Page.docxDer zweite Anhang (Docx_2Pages.docxAnschließend folgt eine PDF-Datei, in der die vollständige Nachricht rekonstruiert ist.
Was Sie benötigen
- Power AutomateDie Power Automate öffnenJeder Tarif mit Premium-Konnektoren (PDF4me Connect ist ein Premium-Tarif).
- PDF4me API-SchlüsselDie Holen Sie sich Ihren API-SchlüsselVerbinden Sie es beim ersten Hinzufügen einer PDF4me-Aktion.
- Office 365 OutlookFür die Wenn eine neue E-Mail eintrifft (V3) auslösen und Anhang lesen
contentBytesJede E-Mail-Adresse, gegen die sich der Connector authentifizieren kann, funktioniert. - Dropbox (oder SharePoint, OneDrive, Google Drive). Für die endgültige, konsolidierte PDF-Datei.
- Eine E-Mail mit AnhängenDie Schritt-für-Schritt-Anleitung verwendet zwei DOCX-Beispiele. 3Page.docx Und Docx_2Pages.docxSenden Sie die Screenshots per E-Mail an die überwachte Adresse, um jeden Screenshot zu spiegeln.
Zuerst die Beispiele und die erwartete Ausgabe erfassen. Laden Sie beide DOCX-Dateien herunter, hängen Sie sie an eine kurze E-Mail an Ihre überwachte E-Mail-Adresse an und veröffentlichen Sie anschließend den Workflow. Beim ersten Durchlauf sollte Folgendes erzeugt werden: merge-YYYYMMDD-HHmmss.pdf das die verlinkte Probe exakt widerspiegelt (nur der Zeitstempel ist unterschiedlich).
Der Flow auf einen Blick
- Outlook: Wenn eine neue E-Mail eingeht (V3) (auslösen).
- Variable initialisieren benannt
email(Array). - PDF4me: In PDF konvertieren (Textkörper)Liest den HTML-Body und gibt ein PDF zurück.
- An Array-Variable anhängen mit
base64ToBinaryauf dem umgebauten Aufbau. - Auf jedes Element anwenden An
triggerOutputs()?['body/attachments']:- PDF4me: In PDF konvertieren die Anlage.
- An Array-Variable anhängen mit
base64ToBinaryauf der konvertierten PDF-Datei.
- PDF4me: Mehrere PDF-Dateien zu einer einzigen PDF-Datei zusammenführenEingabe: Array, Ausgabe: eine PDF-Datei.
- Dropbox: Datei erstellenDer Dateiname-Ausdruck versieht die Datei mit einem UTC-Zeitstempel.
Vollständige Ablaufübersicht

Sieben Aktionen. Die Option „Auf jede Karte anwenden“ zeigt „1 von 2“ an, da die Test-E-Mail zwei Anhänge enthielt. PDF4me ist dreimal im Workflow beteiligt: E-Mail-Text konvertieren, Anhänge konvertieren, alles zusammenführen.
Schritt 1: Outlook: Wenn eine neue E-Mail eingeht (V3)
Bisheriger Ablauf: Nur Auslöser.
- In Power Automate Klicken Erstellen, wählen Automatisierter Cloud-FlowDie
- Benennen Sie den Datenfluss (z.B.
Email to Consolidated PDF), wählen Office 365 Outlook: Wenn eine neue E-Mail eingeht (V3) Klicken Sie als Auslöser. ErstellenDie - Verbinden Ihr Office 365-Postfach.
- Expandieren Erweiterte Parameter Und Alle anzeigen um Filteroptionen anzuzeigen.
- Konfigurieren:
- Zu:
[email protected](Filter, sodass nur an diese Adresse adressierte E-Mails den Workflow auslösen) - Anhänge beifügen:
Yes - Nur mit Anhängen:
Yes
- Zu:
Triggerkonfiguration

Tipp. Nur mit Anhängen Ja ist das, was verhindert, dass der Ablauf bei jeder internen Benachrichtigung, Kalendereinladung oder Antwort ausgelöst wird. Kombinieren Sie dies mit einem/einer/einem Zu Filter für einen dedizierten Alias (z.B. [email protected]) für eine saubere Eingangsadresse, die nur die Post empfängt, die Sie tatsächlich zusammenfassen möchten.
Schritt 2: Variable „email“ initialisieren
Bisheriger Ablauf: Trigger plus Variable initialisieren.
Öffne ein leeres Array, um den Hauptteil der PDF-Datei und alle angehängten PDF-Dateien zu sammeln.
- Klicken + Neuer Schritt, wählen Variable initialisierenDie
- Konfigurieren:
- Name:
email - Typ:
Array - Wert: leer lassen
- Name:
Variablenkonfiguration initialisieren

Schritt 3: PDF4me: In PDF konvertieren (Textkörper)
Bisheriger Ablauf: Auslöser plus Variable initialisieren plus In PDF-Text konvertieren.
Der Outlook-Trigger gibt den Nachrichtentext als HTML aus am body/bodyPDF4me Convert to PDF liest HTML direkt, sodass die gesamte Konvertierung in einem einzigen Schritt erfolgt.
- Klicken + Neuer Schritt, suchen PDF4me, wählen In PDF konvertierenDie
- Umbenennen die Handlung zu In PDF-Text konvertieren So kann die Aktion „In PDF konvertieren“ aus Schritt 5 später einen eigenen, aussagekräftigen Namen erhalten.
- Verbinden PDF4me – Melden Sie sich mit Ihrem API-Schlüssel an (nur beim ersten Mal).
- Konfigurieren:
- Dateiinhalt (Ausdruck, Klick)
fx):triggerOutputs()?['body/body'] - Dateiname:
email-body.html
- Dateiinhalt (Ausdruck, Klick)
Konvertierung in PDF-Textkörperkonfiguration

Der .html Die Dateinamenserweiterung teilt PDF4me mit, welchen Renderer PDF4me verwenden soll. Senden .docx, .xlsx, .png, oder .jpg Genauso einfach lassen sich alle mit derselben Aktion bearbeiten.
Schritt 4: An Array-Variable anhängen (E-Mail-Text)
Bisheriger Ablauf: Auslöser plus Variable initialisieren plus In PDF-Text konvertieren plus Anhängen (E-Mail-Text).
Schieben Sie die konvertierte PDF-Datei auf die email Array als Seite 1.
- Klicken + Neuer Schritt, wählen An Array-Variable anhängenDie
- Umbenennen die Handlung zu An Array-Variable anhängen (E-Mail-Text) Zur Verdeutlichung.
- Konfigurieren:
- Name:
email - Wert (Ausdruck):
base64ToBinary(body('Convert_to_PDF_Body')?['$content'])
- Name:
Konfiguration zum Anhängen des E-Mail-Textes

Schritt 5: Auf jeden Anhang anwenden, konvertieren und anhängen
Bisheriger Ablauf: Auslöser plus Variable initialisieren plus In PDF-Text konvertieren plus Anhängen (E-Mail-Text) plus Auf jedes Element anwenden.
Alle Anhänge werden durchlaufen, jeder wird in eine PDF-Datei konvertiert und der Reihe nach angehängt, sodass die endgültige Zusammenführung die Reihenfolge der Anhänge berücksichtigt.
Schritt 5a: Auf jedes Element anwenden (Quelle auswählen)
- Klicken + Neuer Schritt, wählen Auf jedes Element anwendenDie
- Konfigurieren:
- Wählen Sie eine Ausgabe aus den vorherigen Schritten aus. (Ausdruck):
triggerOutputs()?['body/attachments']
- Wählen Sie eine Ausgabe aus den vorherigen Schritten aus. (Ausdruck):

Schritt 5b: In PDF konvertieren (die Anlage)
- Innerhalb der Schleife klicken Füge eine Aktion hinzu, wählen PDF4me: In PDF konvertierenDie
- Konfigurieren:
- Dateiinhalt (Ausdruck):
base64ToBinary(items('Apply_to_each')?['contentBytes']) - Dateiname (dynamischer Inhalt): Auswählen Name aus der Option "Auf jedes aktuelle Element anwenden"
- Dateiinhalt (Ausdruck):

Der Name Das dynamische Inhaltstoken wird zur Laufzeit aufgelöst zu items('Apply_to_each')?['name']Daher wird jeder Anhang unter Verwendung seines ursprünglichen Dateinamens konvertiert (der die Quelldateierweiterung enthält und PDF4me mitteilt, welchen Renderer es verwenden soll).

Schritt 5c: An die Array-Variable anhängen (die konvertierte Anlage)
- Im Folgenden wird innerhalb derselben Schleife in PDF konvertiert. Füge eine Aktion hinzu, wählen An Array-Variable anhängenDie
- Konfigurieren:
- Name:
email - Wert (Ausdruck):
base64ToBinary(body('Convert_to_PDF')?['$content'])
- Name:

Die beiden Grundstücksnamen sind wichtig. Outlook-Anhangsbytes werden gespeichert auf contentBytesPDF4me Convert to PDF output ist weiterhin verfügbar. $contentBeide sind Base64-kodiert. Achten Sie beim Einfügen der Ausdrücke auf die korrekte Namensgebung, dann funktioniert die Schleife einwandfrei.
Schritt 6: PDF4me: Mehrere PDF-Dateien zusammenführen
Bisheriger Ablauf: Auslöser plus Variable initialisieren plus In PDF-Text konvertieren plus Anhängen (Text) plus Auf jedes anwenden plus Mehrere PDFs zusammenführen.
Das Ganze email Ein Array (zuerst das Body-PDF, dann die Attachment-PDFs in der Reihenfolge der Anhänge) wird in einen einzigen Merge-Aufruf umgewandelt.
- Klicken Sie unterhalb von „Auf jede Schleife anwenden“. + Neuer Schritt, suchen PDF4me, wählen Mehrere PDF-Dateien zu einer einzigen PDF-Datei zusammenführenDie
- Konfigurieren:
- Body/docContent: Wähle die
emailVariable Token - Name der Ausgabedatei:
Email Attachment Merge Output.pdf
- Body/docContent: Wähle die
Zusammenführungsaktionskonfiguration

Schritt 7: Dropbox: Datei mit einem Zeitstempel erstellen
Bisheriger Ablauf: Auslöser plus Variable initialisieren plus In PDF-Text konvertieren plus Anhängen plus Auf jedes Element anwenden plus Zusammenführen plus Datei erstellen.
Speichern Sie die konsolidierte PDF-Datei in Dropbox mit einem Dateinamen, der einen UTC-Zeitstempel enthält, sodass bei jedem Durchlauf eine neue, sortierbare Datei entsteht.
- Klicken + Neuer Schritt, wählen Dropbox: Datei erstellenDie
- Konfigurieren:
- Ordnerpfad:
/blog data/merge blog template/output - Dateiname (Ausdruck, Klick)
fx):concat('merge-', formatDateTime(utcNow(), 'yyyyMMdd-HHmmss'), '.pdf') - Dateiinhalt: Wähle die Dateiinhalt Token aus der Aktion „Mehrere PDFs zusammenführen“
- Ordnerpfad:
Dateinamenausdruck

Abschließende Aktion mit zugeordnetem Dateiinhalt

Tipp. Sie möchten einen Ordner pro Absenderdomäne? Ersetzen Sie den statischen Ordnerpfad durch concat('/inbox-pdfs/', split(triggerOutputs()?['body/from'], '@')[1], '/')PDFs werden automatisch in Unterordner wie diese weitergeleitet /inbox-pdfs/yourcompany.com/ basierend auf der Domain des Absenders.
Führen Sie den Flow aus und überprüfen Sie ihn.
- Speichern der Fluss oben rechts.
- Senden Sie eine E-Mail mit einem oder mehreren Anhängen an die überwachte Adresse (die Anleitung wurde verwendet).
[email protected]). - Offen LaufverlaufDer Trigger sollte innerhalb weniger Sekunden ausgelöst werden. Beobachten Sie, wie jede Aktion grün wird: Die Konvertierung in PDF-Text dauert bei einem kurzen HTML-Text etwa 10 Sekunden. Die Anwendung auf alle Dateien läuft standardmäßig parallel und schließt beide Anhänge in etwa 22 Sekunden ab. Das Zusammenführen mehrerer PDFs dauert etwa 11 Sekunden.
- Dropbox öffnen unter
/blog data/merge blog template/output/Eine Datei mit dem Namenmerge-YYYYMMDD-HHmmss.pdfist da. - Öffnen Sie die PDF-Datei. Seite 1 enthält den Haupttext. Ab Seite 2 finden Sie die einzelnen Anhänge in der Reihenfolge ihrer Erstellung.
Was hast du denn genau gebaut? Eine vollautomatische E-Mail-Archivierungs-Pipeline. Jede E-Mail mit Anhängen wird in eine einzige PDF-Datei umgewandelt – zuerst der Nachrichtentext, dann die Anhänge in der richtigen Reihenfolge. Die Datei wird mit einem Zeitstempel versehen, um Konflikte zu vermeiden, und anschließend in einem freigegebenen Ordner abgelegt, den Ihr Team oder Ihre Auditoren durchsuchen können. Die gleiche Vorgehensweise funktioniert mit zwei oder zwanzig Anhängen. Sie ist sowohl mit Make (Outlook-Trigger, Iteration über Anhänge und PDF4me Merge) als auch mit Zapier (E-Mail-Funktion von Zapier oder Outlook-Trigger, Schleife und PDF4me Merge) kompatibel.
Häufige Variationen, die Sie hinzufügen können, ohne den Aufbau zu wiederholen
endsWith(toLower(items('Apply_to_each')?['name']), '.pdf') oder Ähnliches. Überspringt Signaturen und eingebettete Bildanhänge sauber.KörperSeite 1 der konsolidierten PDF-Datei enthält nun eine Kopfzeile, nach der Sie später suchen können.PDF/A-2b Nach der Zusammenführung entspricht die archivierte, konsolidierte PDF-Datei nun der ISO 19005-Norm und ist für die Vorlage bei Rechtsanwälten oder Aufsichtsbehörden geeignet.Fehlerbehebung
Eine der Optionen zum Anhängen an ein Array Wert Ausdrücke sind nicht eingeschlossen base64ToBinary(...)Jeder Push (Textkörper und Anhänge) erfordert die Konvertierung. Öffnen Sie beide Anfügeaktionen erneut, wechseln Sie zum Ausdruckseditor und überprüfen Sie, ob die Ausdrücke korrekt sind. base64ToBinary(body('Convert_to_PDF_Body')?['$content']) Und base64ToBinary(body('Convert_to_PDF')?['$content']) wörtlich.
Die Aktion „In PDF konvertieren“ hat keinen gültigen HTML-Textkörper erhalten. Überprüfen Sie den Auslöser. Anhänge beifügen Ja blieb (ohne es kommt der Körper manchmal leer an) und dass Dateiinhalt löst sich auf triggerOutputs()?['body/body'], nicht Körper/KörpervorschauDie
Der Trigger wurde bei einer E-Mail ohne Anhänge ausgelöst, weil Nur mit Anhängen ist auf Nein gesetzt. Entweder ändern Sie es auf Ja oder Sie schließen die Anweisung „Auf jedes Element anwenden“ in eine Bedingung ein, die nur ausgeführt wird, wenn Länge(triggerOutputs()?['body/attachments']) ist größer als null.
Standardeinstellung Auf jedes Element anwenden Die Abläufe erfolgen parallel, wodurch die Reihenfolge der Anhänge durcheinandergeraten kann. Öffnen Sie die Schleife. Einstellungen und setzen Gleichzeitigkeitskontrolle Grad der Parallelität zu 1Die Schleife läuft nun sequenziell ab, und die Anhänge landen im Array genau in der Reihenfolge, in der Outlook sie zurückgegeben hat.
Nächste Schritte
Aktionsdokumente in PDF konvertieren
Mehrere PDF-Dokumente zusammenführen
Holen Sie sich Ihren API-Schlüssel
Das gleiche siebenstufige Muster (Auslösen, Array initialisieren, E-Mail-Text konvertieren, Konvertierung und Anhängen wiederholen, Zusammenführen, Speichern mit Zeitstempel) funktioniert für jede Automatisierung, die E-Mails und Anhänge in einer PDF-Datei zusammenfasst. Einmal versendet, wird jede eingehende Nachricht automatisch zu einem durchsuchbaren und sortierbaren Archiveintrag.