Dynamische PDF Erstellung mit iText

Status
Nicht offen für weitere Antworten.

angelchr

Mitglied
Hallo zusammen,

ich versuche derzeit PDFs mit Inhalten aus Datenbanken zu erstellen. Das ganze ist soweit auch kein Problem. Allerdings soll jetzt auf dem PDF oben links ein Logo sein. Dieses Logo bringt mich zur Verzweiflung.
Solange ich mit Netbeans arbeite, und das ganze nicht aus einer jar Datei heraus ausgeführt wird, ist das kein Problem. Da hol ich mir den Pfad mit
Java:
 this.getClass().getResource("/package/Logo-Name.jpg")

Packe ich das ganze als jar und führe es dann aus, schlägt das fehl. Die iText lib versucht dann auf den Pfad PfadZumJar.jar!package/Logo-Name.jpg zuzugreifen. Stimmt dieses Ausrufezeichen? Ich arbeite derzeit mit einem Workarround und beziehe das Logo mit einem "harten codierten Pfad" von einem Netzlaufwerk, was ja aber auch nicht Sinn und Zweck sein kann.
Ich hab auch schon versucht den Slash wegzulassen mit Punkt ohne Punkt mit Punkt Punkt Slash etc....
Vielen Dank schon mal im vorraus.

angelchr
 
Das Ausrufezeichen stimmt. So werden URLs zu Einträgen innerhalb von Jar-Dateien aufgebaut.

Hast Du geprüft, ob getResource() nicht null zurückliefert? Mit welcher Methode fügst Du das Bild ins PDF ein? Braucht die eine existierende Datei im Dateisystem? Gibts eine Möglichkeit, einen InputStream zu übergeben? Wenn ja, nimm getResourceAsStream().
 
Das Bild befindet sich genau dort wo die Fehlermeldung sagt dass es keine Datei gibt. also im Jar-Archiv. Soweit ich weiß kann man keinen Stream übergeben, bin mir da aber nicht ganz sicher. Muss das nochmal überprüfen.
 
Wenn das File unbedingt physisch vorliegen muss, dann packs entweder in ein normales Verzeichnis neben dem Jar oder kopiers zur Laufzeit in eine temporäre Datei.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben