Die Power Platform bietet viele Optionen, normale SharePoint-Listen mit zusätzlichen Funktionen auszustatten. Ob ein schönes Eingabeformular mit Power Apps oder eine Automatisierung mit Hilfe von Power Automate: die Power Platform bietet mehr als nur eine Liste. Eine Anforderung, welcher wir jedoch ständig begegnen, ist das Generieren einer PDF-Datei basierend auf den erfassten Daten. In diesem Blogbeitrag gehe ich darauf ein, welche Möglichkeiten es innerhalb der Power Platform gibt und was deren Vor- und Nachteile sind.
Word Online
Word Online bietet eine Power Automate Action namens „Populate a Microsoft Word template“. Hierbei kann eine Word-Datei mit gewissen Platzhalter-Elementen bestückt werden, welche dann mithilfe der Workflow-Action befüllt werden.
Wichtig! Die nachfolgende Beschreibung funktioniert nur in der Desktop-Variante von Word.
Um Platzhalter-Elemente platzieren zu können, muss zuerst der Developer-Tab aktiviert werden. Dazu kann im Tab „File“ die Schaltfläche „Options“ und darin „Customize Ribbon“ gewählt werden. In der Auflistung auf der rechten Seite kann nun die Option „Developer“ aktiviert werden.
Nun sollte ein neuer Tab namens „Developer“ zur Verfügung stehen. Hier gibt es die Möglichkeit, aus dem Bereich „Controls“ verschiedene Platzhalter-Elemente auszuwählen.
Einige der nützlichsten Platzhalter Elemente erklärt:
- Rich Text Content Control: Platzhalter zum Einfügen von formatiertem Text
- Plain Text Content Control: Platzhalter zum Einfügen von normalem Text
- Picture Content Control: Platzhalter für Bilder
- Repeating Section Content Control: Platzhalter für sich wiederholende Elemente
Nach dem Platzieren eines solchen Platzhalter-Elements kann durch Auswählen des Elements und nachfolgendes Klicken auf die Option „Properties“ im Developer Tab diesem Element einen Title zugewiesen werden. Dieser Title wird anschliessend in Power Automate dafür verwendet, die einzelnen Platzhalter zu identifizieren.
Anschliessend kann dieses Template in einer SharePoint-Site unserer Wahl abgelegt und mit einem Workflow befüllt und zu einer PDF-Datei konvertiert werden.
Excel Online
Als äquivalent zur oben erwähnten Variante mit Word kann ein Dokument auch mit dem Excel-Connector generiert werden. Dazu bietet uns der Excel-Online-Connector diverse Funktionen an eine Tabelle innerhalb einer Excel-Datei zu manipulieren. Wird können damit neue Tabellen erstellen oder bereits existierende Tabellen bearbeiten.
Anschliessend kann die generierte Tabelle mit der „Convert file“-Action von OneDrive zu einer PDF-Datei umgewandelt und der Output in eine neue Datei geschrieben werden. Es empfiehlt sich, nach der Generierung der Tabelle einen gewissen Delay einzubauen. Excel braucht teilweise einen Moment, bis die Änderungen auch wirklich in die Datei geschrieben werden.
HTML zu PDF
Wenn Dokumente komplett aus dem nichts erschaffen werden sollen, bietet sich die Variante des HTML-Konverters an. Hierbei wird der Inhalt des Dokuments als HTML-Markup generiert und in eine Datei geschrieben. Anschliessend kann mit derselben „Convert file“-Action wie beim Excel-Beispiel die HTML-Datei zu einer PDF-Datei konvertiert werden. Hier gilt zu beachten, dass dieser Konverter nicht die gesamte Palette des Validen HTML- und CSS-Codes korrekt verarbeiten kann. Bei komplexeren Designs, bei welchen Features verwendet werden, die über die Basics hinausgehen, kann das resultierende PDF-File vom HTML abweichen. Grundlegende Funktionen werden jedoch unterstützt.
The IOZ Way
Da die Anforderungen unserer Kunden an Ihre PDF-Dateien immer komplexer werden, haben wir über die Jahre unsere eigenen Verfahren entwickelt, auch komplexere Dateien generieren zu können. Nachfolgend zwei Produkte, welche wir bereits mehrfach erfolgreich bei Kunden eingesetzt haben.
IOZ Publishing Workflow
Der Publishing-Workflow ist eine durch IOZ entwickelte Template-Verarbeitungslösung, welche über die Azure Cloud erreichbar ist. Diese Lösung erlaubt es innerhalb von Word-, Excel-, PowerPoint- und Visio-Dateien, im Fliesstext eigene Platzhalter-Texte zu definieren – welche dann mithilfe des Publishing-Workflows ersetzt werden. Die Datei wird anschliessend entweder im Ursprungsformat oder als PDF-Datei abgespeichert.
Somit reiht sich der Publishing-Workflow in die Kategorie der „Platzhalter-Ersetzer“, wie der oben erwähnte Word-Online-Connector ein. Ein grosser Vorteil des Publishing-Workflows neben den verschiedenen unterstützten File-Formaten ist, dass hier nicht nur Template-Dateien befüllt werden können, sondern auch bei bereits bestehenden Dokumenten ohne vorgegebener Struktur zusätzliche Metadaten wie Dokumenten-Fusszeilen oder sonstige Platzhalter innerhalb des Dokuments.
IOZ Web-Printer
Der Web-Printer ist die IOZ-Variante des HTML zu PDF-Converters. Der Vorteil gegenüber der oben vorgestellten Variante ist, dass sämtliche HTML-, CSS- und sogar JavaScript-Funktionen, welche vom Chrome Browser unterstützt werden, konvertiert werden können. Dies erlaubt es uns, sehr komplexe und detaillierte Dokumente zu generieren. Automatische Seitenumbrüche beispielsweise können so granularer gesteuert werden. Sogar verschiedene Seitengrössen oder Ausrichtungen innerhalb des Dokuments sind erlaubt. Somit gibt es praktisch kein Dokument, welches mit dem Web Printer nicht abgebildet werden kann.
Fazit
Wie in diesem Blogpost erläutert, gibt es verschiedene Varianten, eine PDF-Datei mithilfe von Power Automate bzw. der Power Platform zu generieren. Jede Variante hat seine eigenen Vor- und Nachteile und Einschränkungen. Gerne zum Abschluss noch mal alle Varianten im Vergleich:
Variante | Komplexität | Geeignet für | Premium-Feature |
---|---|---|---|
Word Online | Klein | Einfache Templates mit wenig Dynamischen Inhalt | Ja |
Excel Online | Mittel | Einfache Tabellenartig strukturierte Auflistungen | Nein |
HTML zu PDF | Gross | Komplexere / Dynamische Dokumente | Nein |
IOZ Publishing Workflow | Klein | Existierende Dokumente oder Templates ohne Dynamischen Inhalt | Ja |
IOZ Web Printer | Gross | Komplexe und Umfangreiche Dokumente mit viel Individualisierung | Ja |
Beitrag teilen
Geschrieben von
Simon Gander
Content Services Developer
Profil anzeigen