iText erstellt außerhalb eclipse leere PDFs

sabek

Grünschnabel
Hallo,
ich habe ein Progrämmchen, welches Preislisten generiert und diese dann als PDF in entsprechenden Ordnern auf dem Desktop abspeichert.
Daten kommen aus einer SQLite Datenbank

Die PDF-Generierung geschieht folgendermaßen: Ich erstelle eine HTML-Code und diesen lasse ich über einen HTMLWorker parsen.
Benutzen tue ich "iText-2.0.8.jar", da ich die PDF noch rendere benutze ich noch zusätzlich "core-renderer-minimal.jar".

Alles funktioniert wunderbar wenn ich es von eclipse aus starte, alles wird gemacht, alles wird erzeugt ;)
Mache ich eine jar (mittels FatJar-Plugin) aus meinem Programm und starte es außerhalb eclipse funktioniert zwar alles wie es sein soll, DB Zugriffe etc.
Die PDFs werden zwar auf dem Desktop erzeugt, aber sind alle leer (0kB) !!

Fehlermeldungen bekomme ich keine

Meine Jar hat auch eine manifest:
--------------------------------------------------------------
Manifest-Version: 1.0
Main-Class: app.AC_PreislistenGenerator
SplashScreen-Image: img/sl-x_SplashLogo.gif
Class-Path: ../thirdparty/libs/SwingX/swingx-1.6.jar ../thirdparty/libs/JDBC_Driver/sqlitejdbc-v037-nested.jar ../thirdparty/libs/iText/core-renderer-minimal.jar ../thirdparty/libs/iText/iText-2.0.8.jar
Source-Path: .

--------------------------------------------------------------

Für mich ein Rätsel, 1,5 Tage sind vergangen und jetzt ergebe ich mich.
 
Zuletzt bearbeitet:
mit der Weile habe ich die Fehlerquelle gefunden:

Der Fehler kommt wo die Bilder in die HTML Seite eingefügt werden.
Deswegen keine Fehlermeldung.
Dieses habe ich jetzt gefunden, wo ich es aus der Konsole heraus gestartet habe.

Javascript:
	htmlSeiteKopf.append("<img src=\""+ClassLoader.getSystemResource("img/Slogan.jpg").getPath()+"\" width=\"85\" height=\"55\" style=\"float:left\" alt=\"Firmen Logo\" />");

Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: URI is not hierarchical

Womit soll idas Bild denn jetzt laden.
 
Hallo sabek,
ich habe ein ähnliches Problem mit dem Laden von Dateien aus jar-Files gehabt...

Wenn du in Java mit Methoden arbeitest, die URL verstehen dann geht der direkte Zugriff... an sonsten kann man an der Stelle mit getClass().getResourceAsStream() eine Datei einlesen und übergeben. Ein Jar ist kein Systemordner, weshalb der HTML-Code nicht auf Files im JAR zugreifen kann.

Ich würde dir für deine Preislisten einen Blick auf JasperReports empfehlen. Das ist das ideale Anwendungsgebiet für derartige Reporte. Außerdem umgehst du damit auch den direkten Dateizugriff auf File in einem Jar-Archive aus HTML heraus.

LG
Alex
 
Zurück