HowTo: .docx- Dateien in SAP erstellen
Um eine Worddatei (.docx) mit Hilfe von SAP zu erzeugen, möchte ich Ihnen eine Option vorstellen, die darauf beruht, das .docx- Dateien auf XML- Basis erstellt werden.
Die Wordklasse
Die Basis für diesen Artikel bietet ein SAP Blogbeitrag von Sébastien Hermann, welcher sich die Mühe gemacht hat, eine Klasse zur Verfügung zu stellen, welche als Basis zur Erstellung von .docx- Dateien im SAP benutzt werden kann.
Die Klasse bietet unter anderem Optionen für:
- Template Nutzung
- Tabellenerstellung
- Kopf & Fußnoten
- div. Styling Optionen
- uvm.
Sie kann frei verfügbar als Nugget heruntergeladen werden und bietet bereits ein Testprogramm, welches direkt ausgeführt werden kann. Dadurch hat jeder Entwickler natürlich auch die Möglichkeit, die Klasse nach Bedarf zu erweitern.
Die Vorgehensweise
Nehmen wir an, wir haben ein Worddokument erstellt namens „Test.docx“ mit folgendem Inhalt:
Nach dem Abspeichern der Datei benennen wir „Test.docx“ in „Test.zip“ um und schauen uns ihren Inhalt an.
In dem Ordner Word sehen wir unsere XML-Datei des Bodys, die XML der Kopfnote und die der Fußnote. Wenn wir uns beispielsweise die „Header1.XML“ ansehen, erkennen wir unseren vorher gemachten Eintrag wieder.
Die Wordklasse benutzt dieses Wissen als Funktionsgrundlage. Die .docx- Datei wird vor Beginn der Verarbeitung ebenfalls gezipped und erst am Ende der Verarbeitung zurück in eine .docx- Datei gewandelt.
Alle Methoden der Klasse fügen diverse XML-Tags in den jeweiligen XML- Dateien ein.
Die Möglichkeiten
Nachdem die grundlegende Funktionalität geklärt ist, stellt sich die Frage, welche Vorteile diese Art der Verarbeitung gegenüber der Nutzung von bspw. der OLE- Schnittstelle von Microsoft hat.
Einer der größten Vorteile ist die Erstellung der .docx- Datei direkt auf dem Application Server. Das heißt, dass kein Nutzer mit dem System interagieren muss. Dies ist bei der OLE- Schnittstelle der Fall, da sie eine Microsoft Word Version auf dem ausführenden Rechner voraussetzt. Somit benötigt die OLE- Schnittstelle einen aktiven Nutzer, der das Programm ausführt und dieser muss Microsoft Word installiert haben.
Folglich ist es bei der Erstellung von .docx- Dateien auf dem Application Server möglich, diese über die Nachrichtenfindung zu erzeugen und per Mail zu versenden.
Ein weiterer Vorteil ist die Schnelligkeit der Erzeugung. Gerade bei der Verarbeitung von großen Datenmengen ist die OLE- Schnittstelle deutlich langsamer als die Erstellung über XML- Manipulation.
Adobe Forms Einführungsworkshop – Fahrplan durch den Formular-Dschungel
Besuchen Sie unseren Adobe Forms Einführungsworkshop und erhalten Sie einen Überblick, was Sie für die erfolgreiche Einführung benötigen.
Docx – Hilfmittel
Falls Sie Lust bekommen haben, die Klasse von Herrn Hermann selbst zu erweitern, empfehle ich Ihnen die Open Office XML Spezifikationsseite. Hier finden Sie sehr viele Arten von XML- Tags, die bei Worddateien verwendung finden. Ebenfalls ist der generelle Aufbau der Dateien im Detail erläutert.
Kennen Sie weitere Vorteile gegenüber anderen Technologien? Dann freue ich mich über ein Kommentar von Ihnen.