Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up

PDF-Konverter in Power Automate

Einleitung

Kann ich mittels Microsoft Power Automate und einer SPFx-Anwendung ohne größere Probleme einen PDF-Konverter erstellen? Die einfache Antwort: Ja. Und auch die Ausführliche gibt’s hier. (In dem Beitrag wurde die englische Version von Power Automate benutzt. Unter 0 Die Antwoord auf Seite 13 finden Sie jedoch Hilfe bezüglich der Umsetzung des Flows in Deutsch.)

Simpler Request

Wir starten mit dem Erstellen und Testen eines Endpunktes in Microsoft Power Automate.
Im folgenden Beispiel wird eine JSON an Power Automate übermittelt. In der JSON gibt es lediglich die Variable „message“, die vom Typ String ist. Als Ausgabe erhält man eine JSON mit der Variable „length“, welche die Anzahl der Charaktere in der „message“-Variablen wiedergibt.

Anleitung zum Aufbau eines Flows

  • Verwenden Sie als Trigger „When a HTTP request is received“ .
  • Benutzen Sie den Button „use sample payload“ und kopieren Sie in das Fenster folgende JSON:
{
 "message": "test"
}
  • Als nächsten Step fügen Sie die Action „Response“ hinzu. Im BODY muss folgende JSON eingefügt werden:
{
 "length":
}
  • Klicken Sie hinter den Doppelpunkt in der JSON auf „add Dynamic content“
  • Fügen Sie die Expression „length()“ hinzu. In die Klammern muss „message“ von dem http-Request.

Folgend ein Screenshot der Expression und wie der Flow nun aussehen sollte:

Screenshot length Expression PDF-Konverter in Power Automate
Abbildung 1: length Expression
Screenshot Simple Request Aufbau PDF-Konverter in Power Automate
Abbildung 2: Simple Request Aufbau

Endpunkt testen

Zum Testen empfiehlt sich die Software Postman.

  • Kopieren Sie die „HTTP POST URL“ aus Power Automate und erstellen Sie einen neuen Request.
  • Fügen Sie die zuvor kopierte URL ein und schalten Sie die Methode auf POST um.
  • Wechseln Sie nun in die „Body“ Ansicht. Wchseln auf „raw“ und ändern das Format auf „JSON“. Benutzen Sie dabei folgende JSON im Body:
{
 "message": "Hallo Welt!"
}
  • Klicken Sie nun auf den Button „Send“. Es sollte eine Antwort erscheinen:
Screenshot Postman Einstellungen im PDF-Konverter in Power Automate
Abbildung 3: Postman Einstellungen

PDF-Konverter

Im Folgenden wird der Aufbau des PDF-Konverter erläutert.

Request

Wie im Endpunkt-Beispiel, wird die POST-Methode verwendet. Diesmal werden jedoch zwei Variablen empfangen:

  • Filename: hier wird ein random String benötigt, da Power Automate so etwas nicht gut erzeugen kann
  • Base64content: hier wird der Dateiinhalt als base64-String hinterlegt.

Folgend die JSON:

{
 "filename": "random guid",
 "base64content": "ein sehr langer string…."
}

So sieht der Request schließlich aus:

Screenshot Request Action im PDF-Konverter in Power Automate
Abbildung 4: Request Action

OneDrive

Im nächsten Schritt wird die Datei in OneDrive angelegt. Folgend wird diese dann konvertiert, der Binary dieser Konvertierung bleibt aber flüchtig und wird nicht als Datei gespeichert. Und zu guter Letzt wird auch die .docx-Datei wieder gelöscht, dadurch wird verhindert, dass mit diesem Prozess OneDrive mit Dateien überflutet wird.

Bei der Action „Create file“ muss darauf geachtet werden, dass der base64-String wieder in Binary umgewandelt wird. Dazu wird die Expression „base64tobinary“ verwendet:

base64ToBinary(triggerBody()?['base64content'])

Bei der „Convert file“- und „Delete file“-Action wird die „Id“ der „Create file“-Action verwendet.

Verwendet wurde dabei im Übrigen die Action „OneDrive for Business“.
So läuft der Prozess ab:

Screenshot OneDrive Actions im PDF-Konverter in Power Automate
Abbildung 5: OneDrive Actions
Screenshot OneDrive for Business im PDF-Konverter in Power Automate
Abbildung 6: OneDrive for Business

Response

Zuletzt gehen die Daten als JSON zurück:

{
  "status": "success",
  "base64Content": @{base64(body('Convert_file'))}
}
Screenshot Response im PDF-Konverter in Power Automate
Abbildung 7: Response

Übersicht

Folgend der ganze Flow zur Übersicht:

Screenshot PDF-Konverter Übersicht in Power Automate
Abbildung 8: PDF-Konverter Übersicht

Power Automate Bugs

Noch einen Hinweis zu aktuellen Bugs mit base64 und Power Automate:
Wenn Sie den Workflow verlassen und diesen danach wieder öffnen, werden beide base64-Konverter einfach gelöscht. Diese müssen erst wieder erstellt werden, bevor erneut gespeichert werden kann:

Screenshot Power Automate Bugs im PDF-Konverter in Power Automate
Abbildung 9: Falsch 1
Screenshot Power Automate Bugs im PDF-Konverter in Power Automate
Abbildung 10: Falsch 2

Zeiten

Es wurden zwei Tests jeweils zehn Mal durchgeführt und folgend dokumentiert:

Test 1

Datei: diese Datei ca. 2,2MB (Base64String: ca. 3MB), 14 Seiten, ca. 14 Abbildungen klein bis mittel groß.
Flow Ausführung: 4s-10s
Chrome Netzwerk Typ Fetch Größe 1,4MB: 10s-15s
Ergebnis PDF: ca. 1,1MB (base64String ca. 1,4MB)

Test 2

Datei: Prozessorientierter Projektbericht (IHK Abschlussprüfung FIAE) ca. 8,5MB (Base64String: ca. 11,7MB), 100Seiten 28 Abbildungen teils A4 groß.
Flow Ausführung: 14s-24s
Chrome Netzwerk Typ Fetch, Größe: 5,4MB: 44s-50s
Ergebnis PDF: ca. 4,4MB (Base64String ca. 6,2MB)

Limits

Will man den Flow produktiv nutzen, so sollten immer die natürlichen Limits von Power Automate berücksichtigt werden. Diese sind unter https://docs.microsoft.com/de-de/power-automate/limits-and-config zu finden. Die 100MB/Flow Grenze wird man wahrscheinlich nicht überschreiten. Pro Flow kommt eine base64 rein, wird in binary umgewandelt, darauf wird eine binary erzeugt und als base64String wieder rausgeschickt. Wenn man dazu sich Test2 anschaut werden dort ca. 30,8MB pro Flow verarbeitet. Weitere Limits sollte man je nach Kundenanforderungen beachten.

Weitere Formate

Der PDF-Konverter kann nicht nur „.docx“. Um herauszufinden welche Formate dieser noch kann, muss man sich lediglich die OneDrive REST API Dokumentation unter https://docs.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_get_content_format?view=odsp-graph-online#format-options anschauen.

Beispiel React-App

Um den Flow auszuprobieren, hilft ein Postman nicht unbedingt. Daher wurde eine kleine Beispiel-App programmiert. Für diese wurde ein „create-react-app“-Project erstellt anstatt SPFx, dies macht einiges einfacher. Den Code sollte man recht schnell in eine SPFx-Anwendung implementieren können. Unter folgenden github könnt Sie das Projekt finden:

https://github.com/vreezy/pdf-converter

Folgende Schritte sind nötig:

  • Klonen:
git clone https://github.com/vreezy/pdf-converter.git
  • Installieren
npm install
  • Update der URL im service  „./src/service.tsx“
  • Starten:
npm start

Der Code selbst ist dokumentiert, ist aber auch kein Hexenwerk. Das Projekt wurde mit minimalem Aufwand umgesetzt.

Benutzung

Wählen Sie die entsprechend als PDF benötigte .docx Datei. Diese wird nun automatisch hochgeladen, konvertiert und nach einem kleinen Moment zum Download angeboten:

Screenshot App-Oberfläche PDF-Konverter in Power Automate
Abbildung 11: App-Oberfläche

Die Antwoord

Wenn man nun kein Englisch-Fan ist, wird es etwas schwierig die richtigen Komponenten zu finden. Als Eselsbrücke hilft dem Autor der Bandname „Die Antwoord“. Immer, wenn der Autor einen Flow in Deutsch erstellt, kommt ihm nun dieser Name in den Sinn. Nachdem Sie sich vielleicht das ein oder andere Musikvideo angeschaut haben, werden Sie verstehen, warum man diesen Namen nicht mehr so einfach vergessen kann.

In der deutschen Version von Flow heißt „Response“ nämlich „Antwort“. Das klingt jetzt erst einmal logisch, dieser Artikel würde aber nicht existieren, wäre es für alle (einschließlich des Autors) immer so offensichtlich... 

Screenshot Endpunkt in Deutsch im PDF-Konverter in Power Automate
Abbildung 12: Endpunkt in Deutsch

Doch lieber Englisch?

Sollten sie die ganze Zeit auf Deutsch arbeiten, sich über oben genannte Probleme ärgern und es leid sein, immer Komma und Semikolon zu tauschen, dann werfen Sie doch mal einen Blick in die Power Automate-Einstellungen. Hier kann man auf die englische Version umstellen und sich viel Ärger ersparen.

Screenshot Power Automate Einstellungen
Abbildung 13: Power Automate Einstellungen
Business Process and workflow flowchart Strategy infographic diagram connection Design Planning Solution Concept Shapes Paper flat lay
Workshop

Microsoft Power Automate (Flow) Workshop

Prozesse und Vorgänge visuell verdeutlichen und somit Geschäftsergebnisse verbessern – mit Power Automate lassen sich Workflows ganz einfach automatisieren.

Detailaufnahme von Person, die am Laptop sitzt und etwas eintippt
Technologie

Power Platform

Applikationen für Ihr Unternehmen sind durch die Microsoft Power Platform ohne großen Entwicklungsaufwand möglich - mit Power Apps, Power BI, Power Automate, Power Virtual Agents und Power Pages.

panoramic banner. young woman using mobile smart phone for scan and payment online with family budget cost bills on desk in home office, plan money cost saving, investment, finance, expenses concept
Workshop

Low-Code Workshop mit Power Apps

In unserem Workshop lernen Sie Step-by-Step, wie Sie benutzerdefinierte Anwendungen mit Power Apps erstellen, die auf mobilen Geräten ausgeführt werden.

business woman close up of a person typing on a laptop computer
Leistung

Prozessautomatisierung mit Power Automate

Microsoft 365 bietet durch die vollintegrierte Prozessautomatisierung mit Power Automate eine perfekte Grundlage, um Ihre Prozesse nachhaltig zu optimieren und zu automatisieren.

Business Applications auf Tablet
Leistung

Microsoft Power Platform: Beratung zur Einführung

Die Power Platform eignet sich für vielfältigste Anwendungsfälle. Wir analysieren, konzipieren und realisieren Ihre Wunschapplikation - auf Basis von Microsoft 365 und einer agilen Umsetzungsmethode.

Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog 20.12.18

Ich bin im Flow! – Eine Übersicht zu Microsoft Flow

Die Power Platform wird aktuell von Microsoft sehr stark gepusht. Zeit, sich mit dem Potenzial der einzelnen Komponenten zu beschäftigen. Heute: Flow.

Geschäftsmann hält Molekülmodell im Büro in Händen
Referenz

ARCONDIS: Internes Berichtswesen mit Power Automate steuern

novaCapta unterstützt ARCONDIS dabei, das interne Berichtswesen schnell und fehlerfrei zu steuern – mit den Microsoft 365 Technologien Power Automate und Azure Functions.

Case Study Power Platform HOCHDORF
Referenz

HOCHDORF: Mit Power in die Automatisierung von Produktdaten

Mit Power Apps und Power Automate vom manuellen Excel-Prozess zum automatisierten Geschäftsprozess.

Headerbild Case Study FIVE Informatik AG, Büroräume
Referenz

FIVE: Prozess-Automation auch für KMUs

Gemeinsam mit novaCapta hat FIVE Informatik AG eine leistungsstarke Power Platform basierte Lösung für kleine und mittelständische Unternehmen geschaffen, die standardisierte Prozessschritte automatisiert bearbeitet.

Zwei Bauarbeiter begutachten eine Baustelle
Referenz

Kissling + Zbinden: Zentrales Arbeiten in «Projektraum 365»

Zusammen mit novaCapta hat Kissling + Zbinden «Projektraum 365» implementiert, welcher die gemeinsame Projektarbeit durch Zentralisierung und Automatisierung vereinfacht. Darüber hinaus ermöglichen Microsoft Intune & Defender ein ganzheitliches Endpoint Management und Security.

Zusammenarbeit am Laptop Berichte erstellen Excel
Leistung

Power Apps entwickeln

Die Szenarien für Business Applications sind vielseitig. Egal, ob wir mit der Konzipierung bei Ihnen beginnen oder ob Sie schon Power Apps Anwendungen umgesetzt haben - wir haben die passende Lösung.

Autos der Marke Toyota auf einer Rennstrecke
Referenz

Toyota: Automatisiere HR-Prozesse mit der Power Platform

Toyota Motor Europe setzt auf eines der führendenden Personalsysteme zur Stammdatenpflege. Auch die deutsche Vertriebsorganisation hat das System übernommen. Um ihre HR-Prozesse weiter zu vereinfachen und weitestgehend zu automatisieren, entschied sich Toyota Deutschland, in Zusammenarbeit mit novaCapta nützliche Flows und Self-Services für Mitarbeitende zu ergänzen.

Verlegung von Majcoat durch Dachdecker
Referenz

SIGA: Mehrsprachige Zusammenarbeit per Microsoft 365

Mithilfe der novaCapta wurde der Aufbau einer modernen, nachhaltigen Zusammenarbeits- und Kommunikationsplattform für den weltweiten Einsatz in mehreren Sprachen gestaltet.

Ein Mitarbeiter stellt aus einzelnen Papierbausteinen flexibel einen eigenen Entwurf zusammen.
Workshop

Workshop: App in a Day

Bei "App in a Day" nehmen wir Sie mit zur Microsoft Power Platform. Tauchen Sie ein in die Welt von Microsoft Power Apps und Power Automate, ganz ohne Programmierkenntnisse – Sie loggen sich ein, wir liefern den Rest.

Creative business people having a meeting over a project
Event Archive

Power Platform Insights

Freuen Sie sich auf einen Expertenaustausch mit PUMA und novaCapta im Rahmen unseres Power Platform Insights Events am 19. Oktober 2023 in unserem Kölner Büro. Jetzt kostenlos anmelden!

Oct 19
novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog 12.07.18

Nutzung der SharePoint REST API mit Microsoft Flow

Durch Zugriffe über die REST API lassen sich viele Vorgänge mit Microsoft Flow automatisieren.

Anwendungsbeispiel Power Platform Power App Workplace Booking
Blog 16.12.22

Power App für das hybride Büro

novaCapta berät nicht nur ihre Kunden zur Power Plattform, sondern nutzt die low-code/no-code Plattform auch für eigene Zwecke. Zum Beispiel um den Arbeitsalltag der Kolleg*innen zu vereinfachen und eine moderne Arbeitsumgebung zu schaffen.

Landqart AG, Headbild, Grüne Noten
Referenz

Landqart: Mit M365 zum Modern Workplace

Mit einem strategischen Einsatz von Microsoft-Lösungen zum Modern Workplace: Von der M365-Migration über den gezielten Einsatz von Change & Adoption Massnahmen bis hin zu Teams-Governance und Power Platform-Automatisierung.

Person im orangefarbenen Langarmshirt sitzt gegenüber Person in Blau
Whitepaper

Whitepaper: Power Platform Governance

Wie Sie Potenziale der Microsoft Power Platform nutzen und gleichzeitig Governance, Security und Compliance sicherstellen, lesen Sie in unserem kostenfreien Whitepaper.

Schreibtisch
Blog 20.02.25

Anhänge nach Datentyp in PowerApps einschränken

Eine immer wieder auftauchende Anfrage bei digitalen Prozessen ist die Beschränkbarkeit von Anhangsdokumenten. Glücklicherweise lässt sich diese Funktionalität relativ unkompliziert mit wenigen kleinen Formeln in PowerApps nachbauen.