Power Automate PDF-Generierung aus einer SharePoint-Liste: Ein Handlebars-Template plus HTML-zu-PDF-Rechnungsworkflow

PDF4me Dokument generieren (Einzeln) Diese Power Automate-Aktion rendert eine Handlebars-HTML-Vorlage und eine JSON-Nutzlast in ein fertiges HTML-Dokument. Die zugehörige Aktion „HTML in PDF konvertieren“ paginiert dieses Dokument anschließend in A4-Seiten. Eine neue Zeile in einer SharePoint-Liste löst den Flow aus, Compose erstellt das JSON-Dokument, und Dropbox speichert die Rechnungs-PDF unter dem Namen der Rechnungsnummer. Kein Premium-Connector, kein Code erforderlich.
Jedes Finanzteam stößt bei Power Automate an dieselbe Grenze. Datei konvertieren Diese Aktion erfordert eine Premium-Lizenz und lässt HTML-Vorlagen nicht zu. Adobe PDF Services und Encodian sind kostenpflichtig. Matthewdevaneys beliebter Workaround umgeht HTML komplett und zwingt zur Nutzung von Power Apps. Das folgende Muster zeigt keiner der Top-Ten-Ergebnisse vollständig: Eine SharePoint-Listenspaltengruppe wird zu einer JSON-Nutzlast, einem echten Lenkervorlage Die Datei befindet sich in /Shared Documents/, und zwei PDF4me-Aktionen übernehmen das Rendern und die Paginierung für die Kosten des kostenlosen Konnektors.
Handlebars-Template-Rendering: PDF4me im Vergleich zu Alternativen
Der Vergleich, den jeder Power Automate-Architekt anstellt, bevor er einen Konnektor für Rechnungs-PDFs auswählt:
| Ansatz vs PDF4me | Lenker-Vorlagen? | HTML-zu-PDF-Paginator? | Verbindungsebene | Anmerkungen |
|---|---|---|---|---|
| PDF4me (dieser Blog) | Ja, Dokument einzeln generieren | Ja, HTML in PDF konvertieren | Standard | Zwei Einzelaktionen, keine Premium-Lizenz erforderlich |
| Adobe PDF-Dienste | NEIN | Ja | Prämie | Kosten pro Benutzer, keine Template-Engine, nur HTML |
| Encoder | Keine native Template-Funktion | Ja | Prämie | Beliebt, aber kostenpflichtig pro Aufruf |
| matthewdevaney Power Apps Route | Nur Word-Vorlage | N / A | Standard | Überspringt HTML vollständig und ist an das Power Apps-Frontend gebunden. |
Einheimisch Convert File | NEIN | Nur Word/Excel, nicht HTML | Prämie | Eine HTML-Rechnung kann überhaupt nicht gerendert werden. |
Eine SharePoint-Rechnungsliste dient als zentrale Datenquelle. Daneben ist eine Handlebars-HTML-Vorlage hinterlegt. Für jede neue Zeile generiert Compose das JSON-Dokument, PDF4me Generate Document (Single) füllt die Vorlage, PDF4me Convert HTML to PDF paginiert das Dokument, und Dropbox speichert die fertige Rechnung unter dem Namen der Zeile. Sechs Aktionen, allesamt Standardkonnektoren, eine individuell gestaltete PDF-Datei pro Zeile.
Warum-basierte Fragen und Antworten
Warum sollte man die Handlebars-Vorlage in SharePoint speichern, anstatt den HTML-Code fest im Flow zu codieren? Die Vorlage wird zu einer bearbeitbaren Datei, die von der Finanz- oder Designabteilung direkt im Browser aktualisiert werden kann. Ob Logo ändern, Summenzeile anpassen oder eine Mehrwertsteuerzeile hinzufügen – die Änderungen werden automatisch in der nächsten Rechnung übernommen. Der Prozess muss nie neu gestartet werden.
Warum zwei PDF4me-Aktionen anstatt einer? Die Funktion „Dokument generieren (Einzeln)“ ist eine Template-Engine, kein Paginator. Sie wandelt JSON in HTML um und gibt HTML zurück. Die Funktion „HTML in PDF konvertieren“ ist der Paginator, der dieses HTML liest, das A4-Seitenformat, die Ränder und den Hintergrunddruck anwendet und die PDF-Datei zurückgibt. Durch die Aufteilung der Funktionen bleibt jede Aktion auf einen einzigen Zweck beschränkt und ermöglicht die Vorschau des gerenderten HTML-Codes vor der Paginierung.
Warum in der Mitte komponieren? Die Handlebars-Vorlage ist verschachtelt (Rechnung, Kunde, Artikel-Array, Summen). SharePoint liefert 12 flache Spalten. Der Schritt „JSON zusammenstellen“ formt diese flachen Spalten zu den verschachtelten Daten, die die Vorlage durchläuft. Dadurch erhält „Dokument generieren (Einzeln)“ eine einzige saubere Eingabe anstelle von 12 dynamischen Inhaltselementen, die über die Konfiguration verteilt sind.
Warum Dropbox für die Ausgabe und nicht zurück nach SharePoint? Dropbox dient als Demospeicher. Jeder Dateikonnektor eignet sich für den letzten Schritt: SharePoint-Datei erstellen, OneDrive-Datei erstellen, Google Drive-Datei erstellen oder SFTP-Upload. Der Inhalt von „HTML in PDF konvertieren“ ist eine einfache Binärdatei; das Ziel ist ein Datenaustausch, keine Überarbeitung.
Was Sie erhalten
Eingang: eine SharePoint-Liste namens Invoices (Spalten: Titel, Rechnungsdatum, Fälligkeitsdatum, Kundenname, Kundenadresse, Kunden-E-Mail-Adresse, Währung, Zwischensumme, Steuersatz, Steuerbetrag, Gesamtsumme, Notizen) plus eine einzelne Handlebars-Vorlage bei /Shared Documents/invoice_template.htmlDie Ausgabe: eine A4-PDF-Datei pro Zeile in Dropbox, benannt {Title}.pdf (INV-1005 wird zu INV-1005.pdf).
Was Sie benötigen
- Power AutomateDie Power Automate öffnenDie unten verwendeten SharePoint-, Dropbox- und PDF4me-Konnektoren sind alle Standardtarife, ein Premium-Abonnement ist nicht erforderlich.
- PDF4me API-SchlüsselDie Holen Sie sich Ihren API-SchlüsselVerbinden Sie es beim ersten Hinzufügen einer PDF4me-Aktion.
- SharePoint-Website mit einer Liste namens
Invoicesund eine Dokumentenbibliothek (beliebiger Name), in der die Handlebars-Vorlage gespeichert ist. - Dropbox-Konto (oder jedes beliebige Dateiziel: SharePoint, OneDrive, Google Drive, SFTP – alle funktionieren unverändert).
- Die Handlebars-Rechnungsvorlagebereit zum Hochladen auf
/Shared Documents/Die invoice_template.htmlJeder Handlebars-Pfad darin entspricht der unten stehenden Zuordnungstabelle. - Beispiel einer unterschriebenen Rechnung (PDF), genau das, was der Ablauf für INV-1005 erzeugt hat. Rechnung-Beispiel.pdfDie
Schnapp dir zuerst die Muster. Laden Sie die Handlebars-Vorlage herunter und laden Sie sie hoch auf /Shared Documents/ Bevor Sie den Ablauf erstellen, muss in Schritt 3 eine Datei angegeben werden, auf die verwiesen werden kann. Die Beispiel-PDF-Datei zeigt genau, wie ein erfolgreiches Ergebnis aussieht.
Der Flow auf einen Blick
- Wenn ein Element erstellt wird (SharePoint-Trigger bei
InvoicesListe). - Komponieren die verschachtelte JSON-Nutzlast (Rechnung / Kunde / Artikel / Summen / Notizen).
- Dateiinhalt über den Pfad abrufen für
/Shared Documents/invoice_template.htmlDie - PDF - Dokument generieren (Einzeln) mit dem Vorlagenkörper plus JSON, Ausgabetyp HTML.
- HTML in PDF konvertieren mit A4-Hochformat, Skalierung 0,8, 40px Rändern, Druckhintergründe Ja.
- Datei erstellen in Dropbox
/, Dateiname{Title}.pdfDie
Vollständige Ablaufübersicht

Vollständiger Ablauf. Die 11 Sekunden dauernde Konvertierung von HTML zu PDF ist die Paginierung, alles andere dauert weniger als eine halbe Sekunde.
Schritt 1: Wie löst man einen Power Automate-Flow für eine neue SharePoint-Rechnung aus?
Bisheriger Ablauf: Der Fluss beginnt hier.
Richten Sie den SharePoint-Trigger auf die Website und die Liste aus, die Ihre Rechnungszeilen enthält. Jede Spalte wird dann zu dynamischem Inhalt.
- Hinzufügen SharePoint > Wenn ein Element erstellt wird als Auslöser.
- Konfigurieren:
- Standortadresse: Wählen Sie die SharePoint-Website aus (im Beispiel:
PDF4me Sharepoints - https://ynoox1.sharepoint.com/sites/PDF4meSharepoints). - Listenname:
InvoicesDie
- Standortadresse: Wählen Sie die SharePoint-Website aus (im Beispiel:
- Speichern Sie die Einstellungen und lassen Sie den Trigger das Listenschema erkennen. Die Zeilen im folgenden Screenshot (INV-1002, INV-1003, INV-1005) zeigen die genauen 12 Spalten, die die Handlebars-Vorlage verwendet.
Die Rechnungsliste

Die SharePoint-Liste ist die zentrale Datenquelle. Jede Spalte hier entspricht einem Feld der Handlebars-Payload.
Triggerkonfiguration

Zwei Felder – das ist der gesamte Auslöser. Alles andere kommt aus der Zeile.
Tipp. Wenn Ihr Finanzteam die Rechnungen bereits in Excel oder Dataverse hat, lassen Sie sie dort. Ersetzen Sie den Auslöser durch Excel – Wenn eine Zeile hinzugefügt wird oder Dataverse – Wenn eine Zeile hinzugefügt wirdDer übrige Ablauf bleibt unverändert.
Schritt 2: Wie erstellt man die Handlebars-JSON-Nutzlast aus einer SharePoint-Zeile?
Bisheriger Ablauf: SharePoint-Trigger.
Compose formt die 12 flachen SharePoint-Spalten in das verschachtelte JSON um, das die Handlebars-Vorlage durchläuft. Die Vorlage erwartet invoice, customer, ein items Array, totalsund ein notes Zeichenkette.
- Hinzufügen KomponierenDie
- In EingabenFügen Sie den unten stehenden JSON-Code ein und ziehen Sie dann die passende SharePoint Dynamic-Content-Pille zwischen die Anführungszeichen der einzelnen Werte, damit Zahlen und Datumsangaben als Zeichenketten ankommen.
{
"invoice": {
"number": "Title",
"date": "InvoiceDate",
"dueDate": "DueDate"
},
"customer": {
"name": "CustomerName",
"address": "CustomerAddress",
"email": "CustomerEmail"
},
"items": [
{ "description": "Item1Description", "quantity": "Item1Qty", "unitPrice": "Item1UnitPrice", "lineTotal": "Item1Amount", "currency": "Currency" },
{ "description": "Item2Description", "quantity": "Item2Qty", "unitPrice": "Item2UnitPrice", "lineTotal": "Item2Amount", "currency": "Currency" },
{ "description": "Item3Description", "quantity": "Item3Qty", "unitPrice": "Item3UnitPrice", "lineTotal": "Item3Amount", "currency": "Currency" },
{ "description": "Item4Description", "quantity": "Item4Qty", "unitPrice": "Item4UnitPrice", "lineTotal": "Item4Amount", "currency": "Currency" },
{ "description": "Item5Description", "quantity": "Item5Qty", "unitPrice": "Item5UnitPrice", "lineTotal": "Item5Amount", "currency": "Currency" }
],
"totals": {
"currency": "Currency",
"subTotal": "Subtotal",
"taxRate": "TaxRate",
"taxAmount": "TaxAmount",
"grandTotal": "GrandTotal"
},
"notes": "Notes"
}
Compose-Konfiguration

Im Code-Ansicht erstellen. Jeder JSON-Wert ist eine SharePoint-Pille zwischen den beiden Anführungszeichen, sodass Zahlen und Datumsangaben als Zeichenketten ankommen, die die Handlebars-Vorlage rendern kann.
Tipp. Halten Sie das Elementarray auf einer festen Größe, die der Anzahl der in SharePoint hinzugefügten Spalten entspricht (fünf in diesem Beispiel). Wenn eine Zeile nur drei Elemente enthält, lassen Sie Element4/Element5 in SharePoint leer und fügen Sie ein Elementarray hinzu. {{#if description}} Im Handlebars-Template wird die Zeile so geschützt, dass leere Zeilen übersprungen werden.
Referenz: SharePoint-Spalte zu Handlebars-Pfad
Die genaue Zuordnung zwischen einer SharePoint-Spalte und ihrer Position in der Vorlage. Speichern Sie diese Tabelle als Lesezeichen, wenn Sie das Schema erweitern.
| SharePoint-Spalte | Handlebars-Pfad | Typ | Wird in der Vorlage verwendet |
|---|---|---|---|
Title | invoice.number | Text | Rechnungsnummer, Überschrift und Dropbox-Dateiname |
InvoiceDate | invoice.date | Datum | Rechnungskopf |
DueDate | invoice.dueDate | Datum | Rechnungskopf |
CustomerName | customer.name | Text | Gesetzesentwurf blockieren |
CustomerAddress | customer.address | Text | Gesetzesentwurf blockieren |
CustomerEmail | customer.email | Text | Gesetzesentwurf blockieren |
Item{N}Description | items[N-1].description | Text | Positionszeile |
Item{N}Qty | items[N-1].quantity | Nummer | Positionszeile |
Item{N}UnitPrice | items[N-1].unitPrice | Nummer | Positionszeile |
Item{N}Amount | items[N-1].lineTotal | Nummer | Positionszeile |
Currency | totals.currency und jeder items[].currency | Text | Währungssymbol |
Subtotal | totals.subTotal | Nummer | Summenblock |
TaxRate | totals.taxRate | Nummer | Summenblock |
TaxAmount | totals.taxAmount | Nummer | Summenblock |
GrandTotal | totals.grandTotal | Nummer | Summenblock |
Notes | notes | Text | Fußzeile |
Schritt 3: Wie lädt man die Handlebars-Vorlagendatei aus SharePoint?
Bisheriger Ablauf: SharePoint-Trigger plus Compose.
Speichern Sie die Vorlage als einfache Datei. .html Die Datei befindet sich in der Dokumentenbibliothek der Website. Die Aktion „Dateiinhalt anhand des Pfads abrufen“ liest die Rohdaten, sodass „Dokument generieren (Einzeln)“ diese als Vorlagentext verwenden kann.
Die Vorlage selbst
Die Vorlage besteht aus normalem HTML mit eingebettetem CSS und Handlebars-Ausdrücken für die Daten. Zwei Konstrukte erledigen die eigentliche Arbeit. {{#each items}} wiederholt eine Tabellenzeile pro Position, und die {{#if description}} Die darin enthaltene Schutzfunktion überspringt die Leerstellen, die durch die nicht verwendeten Spalten Item4 und Item5 entstehen.
<tbody>
{{#each items}}
{{#if description}}
<tr>
<td>{{description}}</td>
<td class="num">{{quantity}}</td>
<td class="num">{{currency}}{{unitPrice}}</td>
<td class="num">{{currency}}{{lineTotal}}</td>
</tr>
{{/if}}
{{/each}}
</tbody>
Alles andere ist ein direkter Ersatz: {{invoice.number}} im Header, {{customer.*}} Block für Rechnungsempfänger, {{totals.*}} in der Summentabelle und {{notes}} in der Fußzeile.
Laden Sie die Vorlage herunter. Laden Sie es hoch auf /Shared Documents/ als invoice_template.htmlBearbeiten Sie anschließend den Verkäufernamen, die Adresse und die Umsatzsteuer-Identifikationsnummer oben. Diese Angaben sind bewusst statisch, sodass Sie vor dem ersten Durchlauf nur diese Zeilen ändern müssen.
- Hinzufügen SharePoint > Dateiinhalt über den Pfad abrufenDie
- Konfigurieren:
- Standortadresse: dieselbe Stelle wie der Auslöser.
- Dateipfad:
/Shared Documents/invoice_template.htmlDie - Inhaltstyp ableiten:
Yes(Standardeinstellung beibehalten).
Dateiinhalt über den Pfad abrufen

Die Vorlage befindet sich in /Shared Documents/ Die Datei wird über den absoluten Pfad abgerufen. Der Versionsverlauf wird automatisch erstellt, da es sich lediglich um eine SharePoint-Datei handelt.
Tipp. Wenn sich Ihre Vorlage stattdessen in OneDrive oder Dropbox befindet, ersetzen Sie diese Aktion durch die entsprechende Aktion des jeweiligen Speichers: „Dateiinhalte abrufen“. Body Das Ergebnis eines dieser Schritte wird im nächsten Schritt an die Vorlagendateidaten übergeben.
Schritt 4: Wie füllt PDF - Dokument generieren (Einzeln) die Handlebars-Vorlage aus?
Bisheriger Ablauf: SharePoint-Trigger plus Compose plus Dateiinhalt über Pfad abrufen.
Generate Document (Single) ist die Template-Engine. Sie liest den Handlebars-Quellcode ({{invoice.number}}, {{#each items}}...{{/each}}Die Funktion ersetzt Werte aus der JSON-Nutzlast und gibt gerendertes HTML zurück. Sie führt keine Paginierung durch. Das ist Aufgabe des nächsten Schritts.
- Hinzufügen PDF4me PDF > PDF - Dokument generieren (Einzeln)Die
- Konfigurieren:
- Vorlagendateityp:
Html (Handlebars Syntax)Die - Vorlagendateiname:
invoice_template.htmlDie - Vorlagendateidaten: dynamischer Inhalt,
Bodyaus dem SharePoint-Schritt „Dateiinhalte abrufen“. - Dokumentdatentyp:
JsonDie - Dokumentdaten Text: dynamischer Inhalt,
Bodyaus dem Compose-Schritt. - Ausgabetyp:
HtmlDie - PDF-Vorlage bearbeitbar halten:
NoDie
- Vorlagendateityp:
Konfiguration „Dokument generieren (Einzeln)“

Ausgabetyp ist Html, nicht Pdf. Generate Document (Single) übergibt das gerenderte HTML an den nächsten Schritt, sodass die Paginierung ein separates, testbares Anliegen bleibt.
Tipp. Die Funktion „Dokument generieren (Einzeln)“ unterstützt auch Word- und PDF-Vorlagen. Wenn Ihnen das Designteam eine Vorlage gibt, … .docx Rechnungsvorlage, Dateityp der Vorlage festlegen auf Word und ändern Sie den Ausgabetyp auf Pdf Den Konvertierungsschritt komplett zu überspringen, ist eine andere Methode besser geeignet. Handlebars bietet sich an, wenn Sie die CSS-Kontrolle und die Browser-Vorschau nutzen möchten.
Schritt 5: Wie paginiert man den gerenderten HTML-Code in ein A4-PDF?
Bisheriger Ablauf: SharePoint-Trigger plus Compose plus Dateiinhalt über Pfad abrufen plus PDF - Dokument generieren (Einzeln).
Die Funktion „HTML in PDF konvertieren“ ist für die Paginierung zuständig. Sie liest den von „Dokument generieren (Einzeln)“ erzeugten HTML-Code, wendet Seitengröße und Ränder an und gibt die PDF-Bytes zurück.
- Hinzufügen PDF4me PDF > HTML in PDF konvertierenDie
- Konfigurieren:
- Dateiinhalt: dynamischer Inhalt,
Bodyaus dem Schritt „Dokument generieren (Einzeln)“. - HTML-Dateiname:
invoice.htmlDie - Seitenlayout:
PortraitDie - Seitengröße:
A4Die - Skala:
0.8(Passt auf eine Seite für die 5-teilige Rechnung). - Oberer / Unterer / Linker / Rechter Rand:
40pxjede. - Druckhintergrund:
Yes(Zeigt die Hintergrundfarbe des Summenblocks an).
- Dateiinhalt: dynamischer Inhalt,
HTML in PDF konvertieren-Konfiguration

Die Skalierung 0,8 sorgt dafür, dass eine fünfzeilige Rechnung auf eine einzelne A4-Seite passt. Erhöhen Sie den Wert auf 0,9 oder 1,0, wenn Sie weniger Positionen haben und eine größere Schriftart wünschen.
Tipp. Print Background: Yes ist die Umgebung, die schließlich Farbe erzeugt <td> Zellen und CSS-Farbverläufe werden angezeigt. Browser entfernen standardmäßig Hintergrundfarben beim Drucken. Wenn Ihre Summenzeile im PDF weiß erscheint, liegt das daran.
Schritt 6: Wie speichert man die Rechnungs-PDF-Datei unter einem aussagekräftigen Namen in Dropbox?
Bisheriger Ablauf: SharePoint-Trigger plus Compose plus Dateiinhalt über Pfad abrufen plus PDF - Dokument generieren (Einzeln) plus HTML in PDF konvertieren.
Im letzten Schritt wird die PDF-Datei in einem Dropbox-Ordner mit einem Namen abgelegt, der mit der Rechnungsnummer verknüpft ist.
- Hinzufügen Dropbox > Datei erstellenDie
- Konfigurieren:
- Ordnerpfad:
/(oder ein Unterordner wie/invoices/). - Dateiname: dynamischer Inhalt,
Titlevom SharePoint-Trigger, gefolgt von der Literalzeichenfolge.pdfINV-1005 wirdINV-1005.pdfDie - Dateiinhalt: dynamischer Inhalt,
Bodyaus dem Schritt „HTML in PDF konvertieren“.
- Ordnerpfad:
Dateikonfiguration erstellen

Wenn die Datei nach der Rechnungsnummer benannt wird, wird der Dropbox-Ordner automatisch zu einem durchsuchbaren, deduplizierten Rechnungsarchiv.
Tipp. Falls zwei Zeilen jemals denselben Titel haben können, fügen Sie einen hinzu _ und ein Zeitstempel: concat(triggerBody()?['Title'], '_', ticks(utcNow()), '.pdf')Andernfalls überschreibt Dropbox stillschweigend die vorherige Datei mit demselben Namen.
Führen Sie den Flow aus und überprüfen Sie ihn.
- Speichern der Fluss oben rechts.
- Füge eine neue Zeile hinzu
InvoicesSharePoint-Liste. Geben Sie dem Titel etwas Erkennbares (INV-1005) und füllen Sie jede Spalte, damit die Vorlage echte Daten enthält. - Öffne den Flow Laufverlauf Wählen Sie den letzten Durchlauf aus. Alle Karten sollten grün sein, ähnlich wie im Screenshot der Ablaufübersicht. Die Karte „HTML in PDF konvertieren“ ist die langsamste (ca. 11 Sekunden), da hier die Paginierung stattfindet.
- Dropbox öffnen und bestätigen
INV-1005.pdf(oder Ihr Titel) befindet sich im Stammverzeichnis. Laden Sie es herunter, öffnen Sie es und vergleichen Sie es mit dem Beispiel.
Was hast du denn genau gebaut? Ein SharePoint-nativer Rechnungsgenerator mit bearbeitbarer HTML-Vorlage, alles in sechs Standard-Connector-Aktionen. Das gleiche Muster (Zeile + Vorlage + Rendern + Paginieren + Speichern) funktioniert für Angebote, Lieferscheine, Bestellungen, Garantiezertifikate oder beliebige PDFs mit individuellem Branding pro Zeile. Ersetzen Sie SharePoint durch Dataverse oder Excel, Dropbox durch OneDrive und behalten Sie die beiden PDF4me-Aktionen bei.
Häufige Variationen, die Sie hinzufügen können, ohne den Aufbau zu wiederholen
Body und adressieren Sie es an SharePoint CustomerEmail Spalte.Shared Documents/Signed Invoices/ Sie wird also neben der Quellliste aufbewahrt.Häufig gestellte Fragen
Wie erstellt man mit Power Automate eine PDF-Datei aus einem SharePoint-Listenelement?
Nutzen Sie SharePoint When an item is created als Auslöser, ein Compose Eine Aktion, um die flachen Spalten der Zeile in eine verschachtelte JSON-Nutzlast umzuwandeln. Get file content using path Aktion zum Laden Ihrer HTML-Vorlage von /Shared Documents/PDF4me Generate Document (Single) um das JSON in die Vorlage einzufügen, und PDF4me Convert HTML to PDF Um das Ergebnis paginieren zu können, speichern Sie die Ausgabe in einem beliebigen Dateikonnektor (Dropbox, OneDrive, SharePoint). Alle Aktionen in dieser Kette fallen unter die Standardkonnektor-Lizenz, daher benötigen Sie keine Power Automate Premium-Lizenz.
Kann Power Automate ein PDF generieren?
Ja. Power Automate kann nativ kein PDF aus einer HTML-Vorlage generieren, aber PDF4me Der Connector fügt die beiden Aktionen hinzu, die dies ermöglichen: Generate Document (Single) für das Rendern von Vorlagen und Convert HTML to PDF Für die Seitennummerierung. Beide sind im Standardtarif enthalten und kostenlos zu installieren. Zusammen wandeln sie jede Zeile aus SharePoint, Dataverse oder Excel mithilfe einer bearbeitbaren HTML-Vorlage, die neben den Daten gespeichert wird, in ein individuell gestaltetes PDF um.
Wie erstellt man in Power Automate eine PDF-Datei aus HTML?
Füge die PDF4me HTML in PDF konvertieren Aktionen überall dort, wo der Flow HTML im Gültigkeitsbereich hat (eine Compose-Ausgabe, ein Get-Dateiinhalts-Body, ein Compose-Ausdruck, eine Webhook-Nutzlast). Seitengröße konfigurieren (A4), Layout (Portrait), Ränder (40pxund setzen Print Background: Yes CSS-Hintergründe bleiben also erhalten. Die Aktion Body Die Ausgabe ist die binäre PDF-Datei, die Sie Ihrer Speicheraktion übergeben. Dies ist dieselbe Aktion, die in Schritt 5 oben verwendet wurde.
Kann Power Automate HTML in PDF konvertieren, ohne dass ein Premium-Abo erforderlich ist?
Ja. Die Aktion „HTML in PDF konvertieren“ des PDF4me-Connectors ist in der Standard-Connector-Lizenz enthalten. Das bedeutet, dass Sie sie in jedem Power Automate-Plan installieren und verwenden können, ohne die Premium-Lizenz des nativen Connectors zu benötigen. Convert File Für die Nutzung der Adobe PDF Services-Konnektoren ist ein PDF4me-API-Schlüssel erforderlich (kostenlose Version verfügbar). Diesen müssen Sie beim erstmaligen Hinzufügen der Aktion einfügen.
Wie kann man in Power Automate eine PDF-Datei aus einer Vorlage generieren?
Verwenden PDF4me Dokument generieren (Einzeln) mit Template File Type: Html (Handlebars Syntax) (für HTML-Vorlagen) oder Word (für .docx Vorlagen). Die Vorlagenbytes werden in Template File Data und eine JSON-Nutzlast in Document Data Text. Satz Output Type: Html falls Sie im Nachhinein eine Seitennummerierung benötigen (wie in diesem Blog), oder Pdf Um in einem Schritt eine PDF-Datei zurückzuerhalten. Die Aktion unterstützt die vollständige Handlebars-Syntax, einschließlich {{#each}} Und {{#if}} für Einzelposten und bedingte Blöcke.
Fehlerbehebung
{{invoice.number}} wörtlich im PDFDer Platzhalter der Vorlage wurde nicht ersetzt, was bedeutet, dass die Dokumentdaten leer waren oder fehlerhaftes JSON enthielten. Öffnen Sie die Ausgaben des Compose-Schritts im Ausführungsverlauf und überprüfen Sie, ob es sich um ein gültiges JSON-Objekt mit dem exakten Schlüsselpfad handelt, den Handlebars erwartet (Groß-/Kleinschreibung beachten).
Satz Print Background: Yes Bei der Konvertierung von HTML in PDF. Die Druckengine von Chromium entfernt Hintergrundfarben von <td> Und <div> Standardmäßig sind sie deaktiviert; dieser Schalter aktiviert sie wieder.
Senken Sie die Scale bei der Konvertierung von HTML zu PDF von Version 0.8 auf 0.7. Alternativ hinzufügen page-break-inside: avoid auf <table> im Template, sodass die Seitenumbrüche zwischen den Zeilen und nicht innerhalb der Zeilen erfolgen.
Zwei Reihen teilten sich dasselbe TitleÄndern Sie den Dateinamenausdruck in concat(triggerBody()?['Title'], '_', ticks(utcNow()), '.pdf') So erzeugt jeder Durchlauf einen eindeutigen Dateinamen.
Nächste Schritte
Dokument (einzeln) in Power Automate generieren
HTML in Power Automate in PDF konvertieren
Holen Sie sich Ihren API-Schlüssel
Das gleiche sechsstufige Muster (Zeile plus Vorlage plus Rendern plus Paginieren plus Name plus Speichern) verarbeitet jedes pro Zeile gebrandete PDF, das Sie in HTML beschreiben können.