Nintex DocGen – Herausforderung der Bilderumsetzung
Was ist überhaupt Nintex DocGen?
Viele Firmen und Organisationen arbeiten mit Standardverträgen, -berichten oder -vereinbarungen. In der Regel haben diese die Vorlage miteinander gemeinsam. Dabei ändern sich lediglich die inhaltlichen Elemente des Dokuments.
Nintex bietet Ihnen eine Möglichkeit zur Generierung von Dokumenten. So können Sie Metadaten entweder aus einem Workflow und/oder einer Liste als inhaltliche Elemente in ein Dokument einfügen. Die Lösung wird als Nintex Document Generation oder auch als Nintex DocGen bezeichnet. Ziel ist es den Erstellungsprozess von Dokumenten anhand einer festgelegten Vorlage zu automatisieren.
Betrachtet man die Vorrausetzungen der Aktion DocGen, ist diese sowohl Teil von der Nintex Standard-Edition als auch von der Enterprise-Edition. Hierbei unterscheiden sich lediglich die Anzahl an generierbaren Dokumenten zwischen den beiden Editionen.
In diesem Beitrag möchte ich Ihnen die Herausforderung eines Projektes nahebringen. Denn die Umsetzung eines solchen ist relativ einfach, sobald inhaltliche Elemente lediglich in Textform vorliegen. Anspruchsvoll wird es dann, wenn Bilder aus dem Anhang mit Hilfe von DocGen umgesetzt werden sollen. Der Prozess, welcher dafür notwendig ist, werde ich Ihnen nun genauer anhand von Nintex Workflow 365 beschreiben.
Der Prozess im Detail
Die Abbildung 1 stellt eine Übersicht da, welche Variablen für die Umsetzung des Workflows grundsätzlich benötigt werden.
Für den ersten Schritt wird die Aktion „HTTP-Webdienst aufrufen“ benötigt, damit der Workflow die URLs aller Anhänge erhält. Für die Konfiguration dieses Schrittes brauchen wir zunächst zwei neue Variablen, welche wir erstellen müssen. Eine Variable ist vom Typ Dictionary (dic_responseContent) und ist für den Inhalt der Antwort des Webdienstes verantwortlich. Die andere ist eine Textvariable (txt_responseStatusCode) und beschreibt den Statuscode der Antwort. Die Abbildung 2 gibt Ihnen einen Überblick über die Konfiguration der Aktion.
Danach folgt die Aktion „Regular Expression“. Hier läuft eine Extraktion ab, damit die URL der Anhänge decodiert wird. Extrahiert werden soll der Dateiname der Bilddateien aus dem Anhang. Der Output wird anschließend in einer neuen Collection (col_Attachments) gespeichert. Die Konfiguration wird in Abbildung 3 dargestellt.
Im Anschluss wird eine „For Each- Schleife“ eingefügt, die den Inhalt der Collection (col_Attachments) in eine neue Variable vom Typ Text (txt_attachment) schreibt. Dadurch erhalten wir den Dateianhang. Abbildung 4 stellt die Konfiguration der Schleife dar.
Diese Variable brauchen wir nun für die weitere Aktion „Build String“. Dabei bauen wir einen String aus der neuen Variable und den URLs der Anhänge zusammen und speichern diese in der txt_ItemAttechmentUrl. Die Konfiguration des Bausteins „Build String“ wird in der Abbildung 5 dargestellt.
Anschließend ist wieder eine „Regular Expression“ erforderlich, in der die neue Variable gesplittet wird, damit mehrere Bilddateien im Anhang umgesetzt werden können. Die Konfiguration ist in Abbildung 6 zu sehen.
Der Anfangsindex der Variable ist jedoch aktuell 0, wodurch wir die folgende Aktion „Remove Item from Collection“ benötigen. Dadurch wird das erste leere Element bereinigt. Abbildung 7 stellt dies dar.
Nach der letzten Aktion sind alle Bedingungen umgesetzt worden, sodass nun endlich die Aktion „Document Generation“ eingefügt werden kann. In dieser Aktion erfolgt die Definition, wie das Dokument erstellt und anschließend gespeichert werden soll.
Anschließend wurde das Template innerhalb von SharePoint bereitgestellt und mit dem Office Add-In „Nintex Document Tagger“ bearbeitet. Mit dem „Nintex Document Tagger“ sind die Workflow-Variablen mit der richtigen Bezeichnung in dem Dokumenten-Template so platziert worden, dass das Dokument richtig erzeugt wird. Die benötigte Konfiguration entnehmen Sie aus der Abbildung 8.
Für den Anhang ist eine Tabelle erstellt worden, die in der Abbildung 9 zu sehen ist. Hier sieht man, welche Konfiguration im Vorfeld umgesetzt werden muss. Dies ist notwendig, damit wir einen Start-Tag setzen können und das Tabellenspalten Tag für den Platzhalter eines Bildes. Die Abbildung 10 zeigt die Übersicht, was zu sehen ist, wenn man den vorherigen Schritt auf „insert“ setzt.
Anschließend kann die die Vorlage getaggt werden. Um den Anhang entsprechend später in der PDF darstellen zu können, benötigen wir in der Wordvorlage eine Tabelle mit einer Spalte und Ziele. Zunächst wird der Startpunkt „<<Schadensbericht_Start >>“ eingefügt. Danach benötigen wir ein beliebiges Bild als Platzhalter. Dieser ist besonders wichtig, weil die Bilder ohne einen Platzhalter falsch in dem Dokument formatiert werden. Dies ist in Abbildung 11 zu sehen.
Der letzte benötigte Schritt ist in der Abbildung 12 zu sehen. Denn um die richtige Tabellen-Variable für die dynamische Erzeugung der Bilder im Dokument zu platzieren, wird an dem Bild über dem Auswahlbereich die Variable anstatt des Bildtitels verwendet. Im Auswahlbereich ist die Tabellen-Variable „<<Schadensbericht_col_Urlattachments >>“ zu finden. Nun können die Bilddateien aus dem Anhang problemlos im PDF generiert werden.
Die Abbildung 13 stellt Ihnen abschließend einen Überblick über den gesamten Workflow dar, welchen wir nun gemeinsam abschließen können.
Wenn Sie Fragen haben, einen Fehler gefunden haben oder eine bessere Möglichkeit haben, dies zu erreichen, können Sie sich gerne an mich wenden!