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:
  • 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 woman close up of a person typing on a laptop computer
Leistung

Power Automate Workflows erstellen

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

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.

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.

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.

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!

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.

Vogelperspektive Laptop Tastaturen
Training_Master

Microsoft Power BI Desktop

Vogelperspektive Laptop Tastaturen
Training_Anfrage

Microsoft Power BI Desktop

Vogelperspektive Laptop Tastaturen
Training_Termin

Microsoft Power BI Desktop

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.

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.

Teamwork Excel Berichte Power BI
Leistung

Power BI Reports erstellen

Wir helfen Ihnen, Daten in Informationen und Wissen zu verwandeln. Mit Power BI wird jede:r im Unternehmen befähigt, eigene Datenanalysen durchzuführen und datengestützte Entscheidungen zu treffen.

Mann schreib auf Whiteboard
Workshop

Agiles Arbeiten mit der Power Platform

Wir vereinen agile Software-Entwicklung mit der Microsoft Power Plattform und arbeiten gemeinsam an einer Lösung für Ihren Geschäftsprozess.

Business people having a meeting in a boardroom
Workshop

Power BI Grundlagen-Schulung

Mit Microsoft Power BI bleibt die Datenanalyse nicht nur Business Intelligence Expert:innen vorbehalten, sondern kann unmittelbar in den Fachbereichen erfolgen.

 Experten Pirmin Gisler und Daniele Miracco
News 13.09.24

Mehr Power und Expertise für PAM-Lösungen

Die Experten Pirmin Gisler und Daniele Miracco erweitern BeyondTrust PAM-Kompetenz bei IPG.

Business professionals using a tablet pc in an office
Blog 18.01.24

Automatisierter Testing Prozess mit Power Apps

Die Automatisierung von Geschäftsprozessen ist für viele Unternehmen ein wichtiges Projekt. In diesem Blogbeitrag zeigen wir an einem konkreten Kundenbeispiel, wie Power Apps für mehr Effizienz sorgt.

LKW fahren über Brücke in den Alpen
Referenz

Bahninfra: Effizientere Arbeitsprozesse durch Power Apps

Die schweizer Gleisbaufirma Bahninfra AG nutzt Microsoft Power Apps, um ihre Prozessketten passgenau digitalen abzubilden, zu vereinfachen und zu beschleunigen.

Microsoft Power Platform App Entwicklung
News

Empfehlungen zur Einführung der Microsoft Power Platform

Jetzt zum Nachlesen! Die wichtigsten Best Practices aus dem Webinar „Power Platform gewinnbringend im Unternehmen einsetzen“ stehen ab sofort in einem kostenfreien Whitepaper zur Verfügung.

Charts, graphs, analysis sales information on laptop screen view over financier shoulder, visual representation of financial data, using helpful app for make analyze easier. Project statistics concept
Event Archive 11.05.23

Microsoft Panel: Power BI bei NUMBERO

Im Panel berichtet Tim Wendschoff, Geschäftsführer unseres Kunden NUMBERO, wie sein Unternehmen volle Datentransparenz auf allen Ebenen erzielen konnte mit dem individuellen Power BI Dashboard.

Ein Mitarbeiter stellt aus einzelnen Papierbausteinen flexibel einen eigenen Entwurf zusammen.
Event Archive 31.05.22

Power Platform gewinnbringend im Unternehmen nutzen

Wir zeigen Ihnen bewährte Anleitungen, die für eine erfolgreiche Einführung und Adoption der Microsoft Power Platform

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!