Kurzfassung der Diplomarbeit

Werbung
Kurzfassung der Diplomarbeit
Abteilung
Informatik
Name der Diplomandin /
Beat Catellani
des Diplomanden
Patrick Kupferschmid
Diplomjahr
2000
Titel der Diplomarbeit
PDF-Generator
Examinatorin / Examinator
Prof. Hans Rudin, Professor für Informatik
Kurzfassung der Diplomarbeit
Aufgabenstellung
In dieser Diplomarbeit soll eine Java basierte Lösung erstellt werden, welche im Umfeld einer
Internetarchitektur 'on the fly' PDF-Files generieren kann, die auf der lokalen Festplatte des Servers
abgespeichert oder direkt an den Web-Client zurückgesandt werden können.
•
Eingabedaten aus HTML-Formularen sollen in kontextabhängige Textvorlagen eingefügt,
zusammengesetzt und formatiert werden. Es dürfen sowohl Text als auch Grafiken in den
PDF’s vorhanden sein. Daten und Layout können z.B. mittels XML-Technologie
zusammengeführt werden. Über ein API sollten Properties und Felder eines Templates definiert
werden können.
•
Der PDF-Generator muss auch eine Kommandozeilen-Schnittstelle aufweisen, damit PDF’s z.B.
als Batchprozess generiert werden können, wobei als Datenquellen diverse Sourcen wie Datei,
DB, Servlets dienen können.
Resultat
Einer instanzierten Bean kann über eine definierte Schnittstelle ein FO(Formatting Object) oder ein
XML- und XSL Dokument, sowie in die Vorlagen einzufügenden Text übergeben werden, woraus
ein PDF(Portable Document Format) Dokument erzeugt wird.
Der Generierungsprozess wird von
FOP übernommen. FOP ist Teil des
Apache
XML-Projektes
(http://xml.apache.org/fop) und stellt
eine
Java
Implementation
eines
Druckformatierers dar, der durch XSLObjekte
angetrieben
wird,
einen
formatierten Objektbaum einliest und
daraus ein PDF-Dokument generiert.
Der
Objektbaum
kann
als
XML(erzeugt von XSLT oder Xalan),
als DOM(im Falle von XT) oder als
SAX-Events übergeben werden. Aus
dem
Apache
XML-FOP
Projekt
entstand
ein
XSL
FOàPDFFormatierer(Version
0.14),
der
kompatibel zur Portable Document
Format Specification(Version 1.3) von
Adobe Systems ist .
Template
(XML- bzw.JSP -Datei)
Formatierung
(XSL-Stylesheet)
<?xml version="1.0"?>
<doc>Peter Muster</doc>
<%= userData.getName() %>
Berechtigungen
Benutzerdaten
Name: Peter Muster
Adresse: Blabla
Konstanten,
Ressourcen
A4: 21.0 x 29.7cm
C:/images/foo.gif
Peter Muster
Blabla
Servlet
PDF Generirungsdprozess
DB
Datei,
Kommandozeile
Herunterladen