flowdocX – Was steckt unter der Haube?

09.06.2016

Microsoft Office Word ist die verbreitetste Software für literarische Werke. flowdocX ist eine Standardsoftware für Autoren zur Erstellung cross-medialer Publikationen innerhalb der gewohnten Word-Umgebung. In diesem Artikel erfahren Sie, auf welche Technologien bei der Entwicklung von flowdocX gesetzt wurde, was diese bedeuten und welche speziellen Aufgaben sie übernehmen können.

Aufpoliertes VBA für .NET

VBA (Visual Basic for Applications) ist eine Skriptsprache zur Automatisierung von Microsoft Office. Die Skripte werden als „Makros“ innerhalb des Dokuments oder der Dokumentvorlage gespeichert und können bestimmte Befehle (z.B. Suchen & Ersetzen) innerhalb der Office-Anwendung ausführen.

flowdocX ist ein Word-AddIn auf Basis der Visual Studio Tools for Office (VSTO).

VSTO bietet die Möglichkeit mit dem .NET-Framework über COM-Schnittstellen (zur Interprozesskommunikation) auf Office-Anwendungen zugreifen zu können.

Mit den bereitgestellten Schnittstellen der Visual Studio Tools for Office stehen fast alle VBA-Befehle zur Manipulation der Anwendung oder des Dokuments zur Verfügung. Bestehendes VBA-Know-How kann ausgezeichnet wiederverwendet werden und in VSTO erlerntes Wissen kann einfach in VBA verwendet und nachgebildet werden.

Da ein mit VSTO entwickeltes AddIn in der .NET Laufzeit ausgeführt wird, kann auf alle Funktionen und Möglichkeiten des .NET Frameworks zugegriffen werden. Zusätzlich ist die Entwicklung in Microsofts Entwicklungsumgebung Visual Studio wesentlich angenehmer als im VBA-Editor.

Menübandanpassungen sind sehr einfach über eine XML-Datei umsetzbar und eigene Oberflächen (TaskPanes) können mit WinForms und WPF gestaltet werden. 

Vollgas mit dem Open XML SDK

Ab Microsoft Office 2007 werden neue Dokumente standardmäßig im „Office Open XML“-Standard abgespeichert (Dateiendungen „.docx“, „.docm“, „.pptx“, etc.). Dieses Dateiformat entspricht einer ZIP-Datei und beinhaltet mehrere Ordner mit XML-Dateien. Innerhalb der XML-Dateien befindet sich das komplette Dokument und kann dort verändert werden.

Das Open XML SDK ist eine Open-Source Klassenbibliothek für das .NET Framework, die viele Klassen zum Auswerten oder Manipulieren des Dokuments auf XML-Basis bereitstellt.

Da VBA-Befehle mit jeder Word-Version aufgrund von neuen Sicherheitsimplementierungen langsamer werden, haben wir alle VBA-Makros zur Dokumentmanipulation mithilfe des Open XML SDKs neu entwickelt. Die anfallenden Makro-Laufzeiten wurden dadurch enorm verkürzt.

Auch die für flowdocX entwickelten Konverter setzen auf das Open XML SDK. Die Konverter werten das Dokument und dessen Inhalte aus und generieren vollautomatisch eine nach einer kundenspezifischen DTD valide XML-Datei, die für die Weiterbearbeitung in einem Satzsystem verwendet werden kann.

Aus dem Satzsystem extrahierte XML-Dateien können mit einem kundenspezifischen Konverter und dem Open XML SDK wieder zurück in eine Worddatei umgewandelt werden.

Web Services

Da einige flowdocX-Prozesse sehr performancelastig sind, oder zusätzliche Software benötigt wird, werden diese Prozesse auf unseren leistungsstarken Servern ausgeführt.

Diese Prozesse werden aus flowdocX über sogenannte WCF (Windows Communication Foundation) Web Services gestartet.

So wird zum Beispiel für die Konvertierung des Dokuments zu einer XML-Datei ein Web Service aufgerufen. Diesem Web Service wird das Word-Dokument als Parameter übergeben. Status und Fortschritt der Konvertierung werden ständig von flowdocX abgefragt und auf der Oberfläche aktualisiert. Sobald die Konvertierung fertig ist, kann die XML-Datei abgerufen werden.

Ein weiteres Beispiel wäre die automatische Generierung einer Druckfahne mit Hilfe eines Satzsystems. Hierfür wird das Word-Dokument zuerst zu einer XML-Datei konvertiert und danach vollautomatisch im Satzsystem ausformatiert. Auch hier wird ständig der Fortschritt aktualisiert, bis die fertige PDF-Datei abgerufen werden kann. Wir setzen im Moment als Ausformatierer APP (früher bekannt als 3B2), TopLeaf und InDesign Server ein.

XML Authoring mit flowdocX 

Weitere Meldungen

flowdocX – innovative Publishing

In der heutigen, modernen Welt sollen Publikationen immer schneller, kostengünstiger und crossmedial zur Verfügung stehen. Verschiedene Märkte, wie der klassische Druck und elektronische Medien, müssen nach Möglichkeit zur gleichen Zeit bedient werden. Dies setzt ein System voraus, mit dem die Werke einfach und zum größten Teil automatisch erstellt werden können. Zusätzlich muss die Bedienung für die Verfasser aber möglichst unkompliziert sein.

flowdocX – innovative Publishi...
Wer macht eigentlich flowdocX?

Geboren ist flowdocX aus den Anforderungen unserer Kunden an effiziente Ablaufe und Multi-Channel-Publishing. Innerhalb von zwei Jahren ist es zum wichtigsten Werkzeug für unsere Produktion von Werken geworden. Ein XML Workflow für automatisierten Satz und gleichzeitige Produktion elektronischer Medien. Wir zeigen Ihnen heute, wer die Menschen hinter der Entwicklung sind.

Wer macht eigentlich flowdocX?