Inhaltsverzeichnis
DocCreator verwenden
Aktualisiert von Sebastian Bartsch
Beim DocCreator handelt es sich um eine REST API auf deren Ressourcen über HTTP Aufrufe zugegriffen wird.
In dieser Dokumentation wird davon ausgegangen, dass der DocCreator unter der Basis-Adresse: https://yourserver.com/doccreator/ erreichbar ist. Die nachfolgenden Ressourcen werden an die Basis-Adresse angehangen.
Grundsätzliches
Für die korrekte Funktion sind zusätzliche Informationen erforderlich die über den Header mit jedem Aufruf einer Ressource übergeben werden müssen.
Header | Wert |
X-Api-Key | Übergeben Sie hier den Wert der in der appsettings.json Datei unter der Einstellung X-Api-Key eingetragen ist. |
X-Api-LicenseName | Der Name der Firma oder Organisation auf den die Lizenz ausgestellt wurde. Im Rahmen einer Testlizenz tragen Sie hier bitte den Wert Der Name muss der Schreibweise exakt der Lizenz entsprechen |
Content-Type | application/json |
Accept | */* |
Erstellen von neuen Dokumenten
Methode | POST | ||||
Ressource | api/v1/creator | ||||
Response Header | Es wird das erstellte Dokument als Download bereitgestellt. Der Dateiname wird über den Request-Body festgelegt.
|
Im Body wird eine JSON Datenstruktur übergeben die sämtliche erforderlichen Informationen enthält um ein Dokument zu erzeugen
{
"disableJobRouterIntegration": true,
"processId": "pid",
"stepId": "sid",
"fileId": "1",
"templateName": "demo.docx",
"documentFileName": "Dokument1123",
"documentAuthor": "OMV",
"attachmentSubTableName": "DOKERSTELLEN",
"fileNameField": "DOK",
"processFields": [
{"fieldName": "AN", "fieldValue":"Anstragssteller"},
{"fieldName": "FRIST", "fieldValue":""}
],
"mergeFieldMappings": [
{"fieldName": "absender_name", "fieldValue": "Sebastian"},
{"fieldName": "absender_tel", "fieldValue": "76"},
{"fieldName": "absender_fax", "fieldValue": "99"},
{"fieldName": "brief_datum", "fieldValue": "26.10.1969"},
{"fieldName": "absender_zeichen", "fieldValue": "SB"},
{"fieldName": "brief_anrede", "fieldValue": "Herr"},
{"fieldName": "brief_anschrift", "fieldValue": "DocuScan GmbH\rSchloss Buschfeld\r50374 Erftadt"},
{"fieldName": "brief_betreff", "fieldValue": "Ihr Wunsch!"},
{"fieldName": "brief_text", "fieldValue": "jede Menge interessanter Text"},
{"fieldName": "brief_anrede", "fieldValue": "Herr"},
{"fieldName": "absender_unterschrift", "fieldValue": "KNV_0815", "fieldType": "Barcode",
"fieldOptions" : {
"$type": "DataMatrix",
"moduleSize": 1,
"dpi": 96,
"compactionMode": "Text",
"size": "Matrix18x18"}
},
{ "fieldType": "Table", "fieldName": "Positionen",
"fieldValue": [
["Sebastian", "B", "Developer"],
["John", "MacClane", "Just a cop"],
["Hans", "Gruber", "Villain"]
],
"fieldOptions" : {
"$type": "Table",
"mergeFieldMappings": [
{"fieldName": "Spalte1"},
{"fieldName": "Spalte2"},
{"fieldName": "Spalte3"}
]
}
},
{ "fieldType": "Table", "fieldName": "Cities",
"fieldValue": [
["New York", "USA", "21,9 Millionen"],
["Rio", "Brasilien", "6,5 Millionen"],
["Tokio", "Japan", "9,6 Millionen"]
],
"fieldOptions" : {
"$type": "Table",
"mergeFieldMappings": [
{"fieldName": "CityName"}
]
}
}
]
}
Aufruf des DocCreator
Der DocCreator ist eine Webanwendung und kann daher überall dort konsumiert werden wo die Verarbeitung von REST-APIs möglich ist. Wir haben im Artikel Barcodes mit dem DocCreator einbetten ein JavaScript Beispiel zusammengestellt.
Datenstruktur des Request-Body
Eigenschaft | Beschreibung |
processId | Die JobRouter Prozess ID |
stepId | Die JobRouter Schritt ID |
fileId | Der Index der Zeilennummer einer Untertabelle In JobRouter wird dies auch als rowId bezeichnet. |
templateName | Der Name einer Vorlage im Template-Ordner |
createPdf | Gibt an ob anstelle eines Word-Dokument eine PDF-Datei erstellt wird. Um eine PDF-Datei zu erzeugen muss dieser Wert auf |
documentFileName | Dies ist der Name der Datei die am Ende der Erstellung dem Benutzer zum Download angeboten wird. |
documentAuthor | Hier kann der Standard-Autor des Dokuments überschrieben werden. Der Standardwert wird in der Konfigurationsdatei festgelegt. |
attachmentSubTableName | Name der Untertabelle in der das erstellte Dokument eingefügt werden soll. |
fileNameField | Feldname des Anhangsfeldes der Untertabelle in das das erstelle Dokument eingefügt werden soll. |
processFields | Eine Auflistung von zusätzlichen Feldern der Untertabelle die parallel zum erstellten Dokument mit Werten gefüllt werden sollen. Hier entspricht fieldName dem Feldnamen in der Tabelle und fieldValue dem Wert. |
subTableStoreMode | Gibt an ob der Eintrag für das erstelle Dokument in die Untertabelle eingefügt werden soll (Insert) oder ein vorhandener Eintrag aktualisiert werden soll (Update). Wenn Sie diese Einstellung weglassen wird ein neuer Eintrag eingefügt. Gültige Werte sind: |
mergeFieldMapping | Eine Auflistung von Feldern und Werten die in der Vorlage ersetzt werden sollen. Lesen Sie unten weiter für mehr Details. |
MergeFieldMapping
Der DocCreator sucht und ersetzt sogenannte MergeFields in Word-Dokumenten. Über das MergeFieldMapping geben Sie an welches MergeField in der Vorlage mit einem bestimmten Wert ersetzt werden soll.
Die Konfiguration erwartet dabei folgende Angaben:
Eigenschaft | Beschreibung |
fieldName | Der Name des MergeFields, so wie es in der Vorlage benannt wurde. |
fieldValue | Der Wert der in das MergeField eingesetzt wird. Bitte beachten Sie hierzu auch weiterführende Informationen bei der Beschreibung der einzelnen Feldtypen. |
isHtml | Sofern Sie den Inhalt eines Feldes vom Typ Text mit HTML-Tags formatieren möchten setzen die den Wert auf true. Diese Eigenschaft ist nicht erforderlich wenn kein HTML verwendet wird. |
replaceLineBreaks | Nur relevant wenn isHtml = true ist. Klassische Zeilenumbrüche werden in HTML ignoriert. Stattdessen werden in HTML andere Vorgehensweisen gewählt um Zeilenumbrüche zu erzwingen. Eine davon ist den br-Tag zu verwenden. Setzen Sie diesen Wert auf true um sämtliche klassischen Zeilenumbrüche ( Wir empfehlen Ihnen die Formatierung selbst vorzunehmen und sämtliche erforderlichen Tags direkt mit fieldValue zu übergeben. |
fieldType | Die Art des verwendeten MergeFields. Der DocCreator kann MergeFields auf vielfältige Art und Weise verarbeiten. |
fieldOptions | Zusätzliche Einstellungen die nur in Sonderfällen erforderlich sind. |
Hierbei unterscheidet der DocCreator zur Zeit zwischen unterschiedlichen Arten von Feld-Typen
Text | Einfacher Text. Die Angabe des Typs in bei diesen Feldern optional. |
Image | Ein Bild auf dem Image-Ordner |
Barcode | Ein Barcode der dynamisch erstellt wird |
FieldRange | Eine Tabelle mit Daten füllen |
Feld-Typ: Text
Textfelder ist der einfachste denkbare Typ. Hier wird das MergeField einfach durch den Wert ersetzt.
Feld-Typ: Image
In diesem Fall wird anhand der Angabe bei fieldValue das zugehörige Bild im Image-Ordner herausgesucht und in die Vorlage eingefügt. Lautet der Wert z.B. logo.png
, dann wird im Image-Ordner nach der Datei logo.png gesucht. Sollten Sie die Bilder in Unterordnern organisiert haben, dann fügen Sie den Pfad relativ zum Image-Ordner in die Eigenschaft fieldValue ein. Beispiel: signatures/steve.png
Feld-Typ: Barcode
Dieser Feld-Typ ermöglicht die dynamische Erstellung von Barcodes. Da es sich hierbei um einen sehr komplexen Vorgang handelt sind zu den bereit genannten Eigenschaften zusätzlich fieldOptions erforderlich. Das Beispiel oben veranschaulicht dies. Um diesen Artikel nicht zu überfrachten haben wir dieses Thema im Artikel Barcodes mit dem DocCreator einbetten beschrieben.
Feld-Typ: FieldRange
Mit diesem Feldtyp haben Sie die Möglichkeit eine Tabelle mit Daten zu befüllen. Für diesen Feldtyp sind zusätzliche fieldOptions, sowie eine bestimmte Datenstruktur in fieldValue erforderlich. Die notwendigen Informationen haben wir im Artikel Tabellen mit DocCreator füllen zusammengefasst.