ich würde gerne *.pdf Dateien mit Hilfe von Java erzeugen. Bei der Suche bin ich auf die Begriffe Jasper Reports
bzw. Editor IReport gestoßen. Bin ich wenn ich mich in dieser Richtung weiterbewege auf dem richtigen Weg bzw. könnt ihr mir irgend etwas anderes empfehlen?
Ich erklärs mal ganz grob. Hab eine Anwendung mit deren Hilfe ich Angebote erstellen kann. Die Anwendung hat einen DB Anbindung über JDO/JPOX. In der DB existieren nun u.a. die Tabellen Artikel, Adressen und Vorgang. Ein Vorgang ist nun im Prinzip ein konkretes Angebot an einen Kunden. Dieses Angebot soll nun wahlweise in verschiedenen Formaten dargestellt werden können z.B. *.pdf, *.doc usw.. Die Daten die für die *.pdf Datei benötigt werden müssen also aus der DB ausgelesen werden. Ein Ausdrucken soll ebenfalls möglich sein.
also um einfach nur PDF's zu erstellen würde ich mir iText anschauen. Wenn es um mehr geht und so hört sich das an würde ich mir mal Jasper Reports genauer anschauen.
Hab mich ein wenig mit Jasper Reports beschäftigt. Beim Compilieren zeigt mir Eclipse folgenden Fehler an:
net.sf.jasperreports.engine.JRException: Report design not valid :
1. Warning : Element bottom reaches outside band area : y=60 height=50 band-height=50
at net.sf.jasperreports.engine.design.JRAbstractCompiler.verifyDesign(JRAbstractCompiler.java:267)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:144)
at net.sf.jasperreports.engine.design.JRDefaultCompiler.compileReport(JRDefaultCompiler.java:104)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:211)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:144)
at Example1.main(Example1.java:23)
Das Detail-Band bei dir ist nur 50 Pixel hoch, das Element in dem du den aParameter ausgeben willst ist aber auch 50 Pixel hoch und fängt erst bei 60 Pixel vom oberen Rand des Bandes an, was garnicht geht.
Also machst du entweder das Detail-Band wesentlich höher, oder du machst das Element + den Offset vom Rand kleiner als die 50 Pixel des Detailbandes.
Ich hoffe das ist noch irgendwie nützlich hier...
Gruß Wiesel
Also ich musste ne Weile auch mal sowas machen. War ziemlich nervig irgendwie, zumal meine Schnittstelle (iText) zwar sehr einfach zu bedienen, aber doch recht eigen war was fortgeschrittenes Layout angeht.
iText besitzt halt ne sehr gute Dokumentation. Fürn Anfang is es nicht schlecht denk ich.
Bin zwar bissle erfahren in java aber nicht so ganz. Wenn ich das paket runterlade wo muss ich es hinpacken damit ich
es so
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;