Vorbereiten eines Microsoft® Word-Dokumentes
Um ein benutzerdefiniertes XML in Microsoft® Word nutzen zu können, reicht es nicht aus, in dem Archiv einfach den entsprechenden Ordner anzulegen und dort ein XML-Dokument zu speichern. Damit mit dem XML gearbeitet werden kann, muss dieses XML mit dem Microsoft® Word-Dokument verknüpft werden. Am einfachsten kann dies über einen XML-Zuordnungsbereich vorgenommen werden.
Im ersten Schritt ist es nicht nötig hier ein Vollständiges XML-Dokument zu verwenden. Es reicht aus, wenn das XML nur aus dem Root-Knoten besteht. Es ist darauf zu achten, dass der Root-Knoten den gleichen Namen sowie den gleichen Namespace wie das spätere XML, das die Daten enthält, besitzt.
Für den Export von Belegen aus oxaion kann ein XML mit folgendem Inhalt verwendet werden:
<?xml version="1.0" encoding="utf-8"?> |
In dem Microsoft® Word-Dokument, welches später als Vorlage dienen soll, muss nun das oben gezeigte XML als XML-Zuordnungsbereich eingefügt werden. Hierzu muss als erstes, über das Menüband „Entwicklertools" der XML-Zuordnungsbereich geöffnet werden.
Innerhalb dieses Zuordnungsbereiches kann dem Microsoft® Word-Dokument nun eine neue Komponente hinzugefügt werden. Hierzu klicken Sie auf den Eintrag „(Neue Komponente hinzufügen…)" wie in der Abbildung oben zusehen.
Nun öffnet sich ein Dateiauswahl-Dialog in dem Sie das zuvor erstellte XML auswählen.
Im Anschluss befindet sich eine neue Komponente in der Auswahl für die Benutzerdefinierten XML-Komponenten.
Speichern Sie dieses Dokument nun (bspw. unter vorlage.docx).
Erstellen eines Projekts in oxaion
Damit die Microsoft® Word-Vorlage später mit Daten gefüllt werden kann, muss zuerst ein Beispielprojekt in oxaion angelegt werden.
Folgendes ist beim Erstellen des Projektes zu beachten:
- Es müssen alle Elemente, die später in das Microsoft® Word-Dokument übernommen werden sollen, in dem Projekt enthalten sein.
- Das Projekt muss über eine „flache Struktur" verfügen, d. h. im optimalen Fall besitzt das Projekt nur eine einzige Position, alle weiteren Elemente wie Zusatztexte, Rabatte usw. werden direkt unterhalb dieser Position angelegt.
- Ende-Rabatte und Kopftexte sollten auch für die jeweiligen Druckzonen angelegt sein.
Ein solches Projekt könnte bspw. wie folgt aussehen:
Wichtig ist, dass für alle Druckzonen Beleg- und Positionstexte angelegt sind.
Das vollständige Anlegen eines Projektes ist an dieser Stelle noch nicht nötig. Wichtig ist nur, dass die gewünschte Struktur korrekt angelegt ist.
Erstellen der Vorlage
Nun können die Daten des Projekts in das Microsoft® Word-Dokument importiert werden. Hierzu wird aus dem Dokumenten-Knoten über einen Rechtsklick „Dokument erfassen" gewählt.
Im folgenden Fenster sind nun zwei Dinge zu beachten:
- Als Dokumentenvorlage wird unser Beispiel aus Kapitel 4.1 verwendet.
- Der Dokumentenname muss die gleiche Dateiendung wie die Vorlage haben, d. h. wenn ein Microsoft® Word-Dokument mit Makros als Vorlage verwendet wird, lautet die Endung .docm, andernfalls .docx.
Das Erstellen des Dokuments kann nun einen Moment dauern. Im Anschluss öffnet sich Microsoft® Word mit dem noch leeren Dokument.
Wenn man sich nun den XML-Zuordnungsbereich anschaut, erkennt man die Struktur des Beleges wie sie aus dem Druck bekannt ist.
Da dieses Dokument noch sehr unstrukturiert ist und auch die einzelnen XML Elemente nicht geordnet sind, wäre das Erstellen der Vorlage mit diesem Dokument sehr aufwändig.
Die Struktur lässt sich etwas verbessern. Hierzu gibt es im Installationsverzeichnis der Admin-Tools unter /bin/tools das Programm Word2013Tools.exe.
Mit Hilfe dieses Programms lässt sich das eingebettete XML in einem Microsoft® Word-Dokument manipulieren.
Folgende Optionen bietet das Programm:
Option | Beschreibung |
---|---|
| Wenn diese Option ausgewählt wurde, wird das Custom XML aus dem Microsoft® Word-Dokument extrahiert und in der Datei, die im Feld „Pfad zur Custom Xml" angegeben ist, gespeichert. |
2. Knoten in Xml Umbenennen: | Durch aktivieren dieser Option werden der Konteninhalt der jeweiligen Textknoten genauso benannt wie der Knoten selbst. Dies kann eventuell beim Erstellen der Microsoft® Word-Vorlage hilfreich sein um zu erkennen, welcher Inhalt in welches Feld geschrieben wird. |
3. Knoteninhalt löschen: | Löscht den Textinhalt aller XML Elemente. Somit erhält man ein sauberes, leeres XML. |
4. Doppelte Knoten löschen: | Nicht verwendbare Knoten, beispielsweise ab Position 2 werden entfernt. |
5. Knoten sortieren: | Alle Knoten werden alphabetisch sortiert, damit diese später leichter im XML-Zuordnungsbereich zu finden sind. |
6. Custom XML nach dem Verarbeiten im Dokument speichern: |
|
Für unsere Zwecke empfiehlt es sich die Optionen 1, 2, 4, 5 und 6 auszuwählen.
Nachdem das Microsoft® Word-Dokument derart vorbereitet wurde, kann nun damit begonnen werden das Dokument mit den Daten aus dem Custom XML zu verknüpfen.
Einfügen eines Feldes aus dem Datenstrom
Der einfachste Fall, ein Element aus dem Datenstrom in dem Microsoft® Word-Dokument auszugeben ist das Einfügen. Hierzu wählt man das entsprechende Element im XML-Zuordnungsbereich und macht dann einen Rechtsklick darauf. In dem sich öffnenden Kontextmenü wählt man nun „Inhaltssteuerelement einfügen" und dann „Nur-Text". An der Stelle im Dokument, an welcher der Cursor platziert ist, wird nun ein neues Steuerelement eingefügt.
Das nun Eingefügte Steuerelement sieht im Dokument wie folgt aus:
Wiederholende Elemente
Wenn es sich bei dem gewählten Element um einen Knoten handelt der "Kind-Elemente" besitzt, so kann dieser Knoten als sich wiederholendes Element eingefügt werden.
Hierzu wählt man im Kontextmenü auf dem entsprechenden Element den Punkt „Inhaltssteuerelement einfügen" und danach „Wiederholt".
Im Dokument erscheint nun ein neues Steuerelement. Innerhalb dieses Steuerelements können nun die zu dem sich wiederholenden Element gehörenden Komponenten eingefügt werden.
Tipps und Tricks
Ausblenden von Bezeichnungen bei fehlendem Inhalt
Oft ist es wünschenswert, dass eine Bezeichnung nur dann ausgegeben wird, wenn der entsprechende Wert dazu auch gefüllt ist. Beispielsweise soll der Text "E-Mail-Adresse" nur dann ausgegeben werden wenn auch die E-Mail-Adresse gefüllt ist.
In dem aus oxaion verwendeten Microsoft® Word-Export werden alle Steuerelemente, die keinen Inhalt haben, entfernt. Sich wiederholende Steuerelemente und Gruppen werden als leer angesehen, wenn alle darin enthaltenen Steuerelemente leer sind. Ebenso werden Steuerelemente als leer angesehen, wenn das ihnen zugeordnete XML-Element mit „TX_" beginnt, da es sich hierbei um Bezeichnungen handelt, die ggf. ausgeblendet werden sollen.