Dokumentenverarbeitung mit dem docx4j-Framework

What’s up, Doc?


„docx4j“ ist ein Java-Open-Source-Framework, das hauptsächlich von der Plutext Pty Ltd. mit Sitz in Melbourne (Australien) entwickelt wird. Es dient in erster Linie als Schnittstelle zwischen einer in Java geschriebenen Geschäftsanwendung und den XML-basierten Microsoft-Dokumentformaten (Open XML). Dabei wird zur Erstellung der Java-Klassen auf JAXB zurückgegriffen. Das ermöglicht es Entwicklern, bequem auf Dokumente zuzugreifen, Informationen auszulesen, Dokumente zu manipulieren und diese auch in verschiedenen Formaten abzulegen. Die Komplexität der Verarbeitung kann dabei von der programmatischen Erstellung von Serienbriefen bis hin zu komplexen Geschäftsberichten oder Vertrags­dokumenten reichen.

Im Gegensatz zu automatisierten Textverarbeitungsprozessen außerhalb einer Geschäftsanwendung können mit der Verwendung von docx4j als Bibliothek der Applikation alle Datenquellen genutzt werden, die die etwaige Geschäftsanwendung selbst ebenfalls nutzt, da die Verarbeitung an Ort und Stelle durchgeführt wird (potenzielle Verwendung, Abb. 1). Es entfallen somit aufwändige Import/Export-Prozesse sowie Schnittstellen zur Datenbereitstellung nach außen. Die Modellierung und Formatierung des gewünschten Ausgabedokuments obliegt grundsätzlich dem Entwickler, kann aber durch die Verwendung von Vorlagen vereinfacht und gesteuert werden. Die aktuelle Version 2.7.1 wurde im Oktober 2011 veröffentlicht. Sie unterstützt die Versionen MS Word 2007 und 2010, da ab Word 2007 Dokumente im XML-basierten Containerformat docx gespeichert werden können. Jason Harrop, CEO von Plutext und Chefentwickler, betreibt die Internetseite www.docx4java.org, die Foren, Beispielprojekte und Blogs rund um das Framework enthält.

driessnack_1.tif_fmt1.jpgAbb. 1: Potenzielle Verwendung von docx4j

Wichtige Klassen

Im docx4j-Framework sind grundsätzlich alle Elemente der WordML als Klassen repräsentiert. Es empfiehlt sich, bei Verwendung spezieller Klassen zunächst ein Beispieldokument zu erstellen und sich den XML-Code des Elements und die notwendigen Bestandteile anzusehen. Im Folgenden werden einige wesentliche Klassen und deren Verwendung erläutert.

WordprocessingMLPackage ist die docx4j-Repräsentation des docx-Dokuments (im Folgenden nur als wmlPackage bezeichnet). Sie kann entweder durch Laden eines bestehenden Dokuments oder durch Erzeugung einer neuen Repräsentation eines noch zu definierenden Dokuments erstellt werden. Laden und Erzeugen einer Instanz dieser Klasse erfolgt über die statischen Methoden load(Fi...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang