MigraDoc ist ein Entwicklungssystem zur Just-in-time-Generierung
dynamischer Dokumente, layoutet auf dem hohen Niveau aktueller
Textverarbeitungsprogramme.
MigraDoc erstellt programmgesteuert
Dokumente in PDF, HTML, WinWord u. a. Formaten aus ein und demselben
Basisdokument.
In eine PC- oder Web-Anwendung integriert übernimmt MigraDoc
die gesamte Druckaufbereitung und/oder Dokumentgenerierung und entbindet die
Anwendung damit von einer der schwierigsten Aufgaben.
Inhalte und Layouts können aus Word und Excel importiert
werden.
Die MigraDoc Designer-Umgebung ist
komfortabel in Microsoft Visual Studio integriert.
Mit MigraDoc werden dynamische Daten, die beispielsweise aus
einer XML-Datei oder einer Datenbank kommen, in vorgefertigte Layout-Vorlagen
eingemischt und daraus wird dann ein fertig formatiertes Dokument erzeugt. Die
Daten können dabei nicht nur in Fließtext und Tabellen, sondern auch in
Diagrammen graphisch dargestellt werden.
Die Besonderheit von MigraDoc liegt in der vom Ausgabeformat
unabhängigen Darstellung von Dokumenten. Jedes Dokument enthält alle Angaben
über Layout und Inhalt in einer generellen Form. Dadurch können MigraDoc-Dokumente
neben dem normalen Druck auf einem Laserdrucker u. a. in PDF-, HTML- oder
Microsoft Word-Dokumente umgewandelt werden.
Wer braucht MigraDoc?
Für Projekte, bei denen Dokumente „On the Fly“ erzeugt
werden müssen, ist MigraDoc das ideale Werkzeug. Das MigraDoc-Laufzeitsystem
lässt sich in Web-Anwendungen genauso einfach integrieren wie in bereits
bestehende Desktop-Programme. Den Entwicklern wird die gesamte Arbeit der
Druck-Aufbereitung und des Dokument-Layouts abgenommen. Jeder, der schon einmal
versucht hat, auch nur eine einfache Rechnung mit Windows-Zeichenbefehlen oder
durch Verwendung einer PDF-Klassenbibliothek zu erzeugen, weiß, mit wie viel
Arbeit dies verbunden ist.
Wie funktioniert MigraDoc?
Im Folgenden wird ein kurzer Überblick gegeben, wie man mit
MigraDoc vom Dokument-Design bis zur Erzeugung des Ausgabedokuments
arbeitet.
Überblick
Die Generierung eines Dokuments mit MigraDoc ist
ein zweistufiger Prozess. Im ersten Schritt wird zunächst eine Art „universelle
Beschreibung“ des späteren Ausgabedokuments erzeugt. Diese Beschreibung
beinhaltet Informationen über Layout, Schriftarten etc., den eigentlichen
Inhalt (den Text) und gegebenenfalls einzubindende Bilder. Bei der Erzeugung
dieser Beschreibung können externe Daten in den Text eingemischt werden,
wodurch sich die Beschreibung eines individuellen Dokuments ergibt.
Die Besonderheit von MigraDoc liegt nun darin,
dass die verwendeten Layout-Informationen unabhängig von einem konkreten
Dateiformat sind. Das bedeutet beispielsweise, dass für einen Absatz angegeben
wird, er soll einen linken Einzug von einem Zentimeter haben und im Blocksatz
dargestellt werden.
Diese Angaben werden dann verwendet, um in einem zweiten
Schritt ein konkretes Ausgabedokument, wie beispielsweise eine PDF-Datei, zu
erzeugen. Sämtliche Aufbereitung, wie das Formatieren oder das Layouten von
Tabellen, die Platzierung und Wiederholung von Kopf- und Fußzeilen oder die
Absatzkontrolle beim Seitenumbruch, erledigt MigraDoc.
Die Erzeugung von PDF-Dokumenten ist ein wesentlicher
Bestandteil von MigraDoc, da PDF der De-facto-Standard für
plattformübergreifende Dokumente ist. MigraDoc geht jedoch
einen Schritt weiter und erlaubt auch die Generierung anderer Ausgabeformate
aus ein und derselben Dokument-Beschreibung.
Dokumentdesign
Zur Ausgabeformat-unabhängigen Beschreibung verwendet MigraDoc
ein Dokumentmodell. In diesem Modell werden die einzelnen Teile eines
Dokuments, die Abschnitte, Absätze, Tabellen usw. durch Elemente repräsentiert.
Diese Elemente lassen sich in einer Beschreibungssprache für Dokumente
deklarieren. Um ein neues Dokument von Grund auf neu zu gestalten, entwirft man
es zunächst exemplarisch mit Microsoft Word. In einem Word-Dokument werden die
zu verwendenden Schriften, Formatvorlagen, das Seitenlayout, die Kopf- und
Fußzeilen etc. definiert. Entspricht das Word-Dokument den gewünschten
Vorstellungen, wird mit Hilfe eines MigraDoc Document Converters
für Microsoft Office das so definierte Layout in die
Dokumentbeschreibungssprache umgewandelt.
Der MigraDoc Designer ist in Microsoft Visual
Studio integriert und verwaltet die Textbausteine, aus denen ein Dokument
zusammengebaut wird. Die einzelnen Textbausteine können sich gegenseitig
aufrufen, so dass ihre Ausführung die Dokumentbeschreibung erzeugt. Das
Ergebnis kann im Designer direkt über die Seitenvorschau begutachtet werden.
Während der Generierung wird durch die Verwendung von Abfragen
und Schleifen, sowie durch das Einmischen variabler Daten die konkrete
Ausgestaltung des Dokuments gesteuert.
Das Ergebnis des Dokumentdesigns ist ein sogenanntes MigraDoc-Textmodul.
Ein solches Textmodul wird zur Verwendung einfach auf Rechner kopiert, auf
denen sich eine MigraDoc Client-Installation befindet.
Ein MigraDoc-Textmodul erzeugt bei seiner
Ausführung eine generelle Dokumentbeschreibung. Aus dieser wird unmittelbar
danach beim sogenannten Rendern ein konkretes Ausgabedokument erzeugt. Dies
kann ein Ausdruck auf dem Laserdrucker oder ein Word-Dokument sein.
Dem Benutzer einer Anwendung, die MigraDoc verwendet,
ist dieser Vorgang vollkommen transparent. Er drückt einfach auf eine
Schaltfläche seiner Anwendung und erhält beispielsweise ein PDF-Dokument.