PDF-Generierung

Alle 3 webbasierten Module von HIS, QISPOS, QISSOS und QISZUL bieten die Funktion der Ansicht bzw. des Herunterladens von Listen oder Bescheiden als PDF-Dokument.
Da diese PDF-Dokumente dynamischen Inhalt aus der Datenbank enthalten, werden sie „just-in-time“ exakt dann generiert, wenn sie angefordert werden. Um dies umzusetzen bedient man sich verschiedener Beschreibungs-, Transformations- und Formatierungssprachen sowie Formatierungsprozessoren.
Chronologisch dargestellt läuft die Generierung eines PDF-Dokuments folgendermaßen ab (der Ablauf wird von verschiedenen JAVA-Klassen gesteuert):

  • Zu Beginn wird ein Stylesheet benötigt, welches das Layout des PDF-Dokuments definiert. Hierfür wird XSL:FO verwendet. ( Einführung in XSL:FO und XSL:FO-Referenz)
  • Wird nun vom Benutzer eine Liste oder eine Bescheid angefragt, wird über Datenbankabfragen, die in Konfigurationsdaeien definiert sind, der dynamische Inhalt aus der Datenbank abgefragt und in eine XML-Baumstruktur verpackt.
  • Um den Inhalt nun in das Layout einzubauen, wurde an den vorgesehen Stellen im Layout mithilfe XSLT spezifiziert, welcher Inhalt genau aus der XML-Struktur eingefügt werden soll ( Einführung in XSLT und XSLT-Referenz). Diesen Prozess führt der XSLT-Prozessor XALAN durch.
  • Das entstandene Ergebnis wird nun durch den FOP in ein PDF gerendert. ( Projektseite der Apache FOP Projektgruppe).

Dieser Prozess wird sehr gut durch oben dargestelltes Diagramm illustriert (Vorlage aus dem HisWiki, überarbeitete Version vom 20080410).