iText und images

Julian R.

Mitglied
Hallo Zusammen,


ich hoffe ihr könnt mir bei meinem Problem weiterhelfen!

Hab mich gerade mal in iText etwas eingearbeitet. Wollte nun einen Header einführen, welcher ein Image auf jeder Seite hinzufügt.

Irgendwie scheitere ich aber lustiger Weise schon daran dem Image den passenden Pfad zu geben, denn mit

Java:
		Image img = null;
		try {
			img = Image.getInstance("images/header_image.png");
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		preface.add(img);

scheiterts schon daran, dass der immer sagt er findet den Pfad nicht.
Theoretisch könnt ich zwar den Pfad beispielsweise so angeben

"C:\\Daten\\images\\header_image.png"

aber das will ich ja nicht, da das image nicht irgendwo in nem Ordner nur liegen soll, sondern nachdem ich ne exe erstellt habe da auch mit eingebunden sein.


Würde mich also freuen wenn mich jemand vom Schlauch runter nimmt! ;-)


MfG,

Julian
 
A

awda23ws23

Gast
Der Javacompiler wird dir wohl keine EXE erstellen. Bei korrekt installiertem Java ist das unnötig, dann kann das Programm mit einem Doppelklick auf das JAR gestartet werden.

Header und Footer erzeugt man mit Itext in dem man dem Writer eine Klasse mit writer.setPageEvent zuweist. Die zugewiesene Klasse sollte dann von extends PdfPageEventHelper ableiten. Dann kannst du

public void onStartPage(PdfWriter writer,Document document)

überschreiben. Die Grafik kannst du dann

URL url=ClassLoader.getSystemClassLoader().getResource("head.png");
img=Image.getInstance(url);
PdfContentByte over=writer.getDirectContent();
Rectangle rect=writer.getPageSize();
img.setAbsolutePosition(10,rect.getHeight()-60);
over.addImage(img);

einbinden
 

Julian R.

Mitglied
Okay super.

ja das mit Header/Footer klappt :)

Nur das mit dem Image immer noch nicht :-S

Java:
Image img = null;
		
		URL url = ClassLoader.getSystemClassLoader().getResource("Header.PNG");
		System.out.println(url);
		try {
			img = Image.getInstance(url);
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

Java:
null
java.lang.NullPointerException
	at com.itextpdf.text.Image.getInstance(Image.java:243)
	at de.brk.registryTool.pdf.PDFGenerator.addTitlePage(PDFGenerator.java:123)
	at de.brk.registryTool.pdf.PDFGenerator.generatePDF(PDFGenerator.java:92)
	at de.brk.registryTool.ui.views.ViewTabelleAuflistung$5.widgetSelected(ViewTabelleAuflistung.java:218)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at de.brk.regisrtyTool.Application.start(Application.java:20)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
 
A

awda23ws23

Gast
Obiger Pfad bedeutet, dass das Image genau da liegt, wo die Klasse ist. Groß-/KLeinschreibung beachtet?
 

Julian R.

Mitglied
Jup, Groß-/Kleinschreibung beachtet.

Auch wenn ichs wo anders reinpacke kommts aufs gleiche raus ("images/Header.PNG").

Daher stelle ich ja diese blöde Frage :-/


Also nebenbei zur Info: Das ist nen RCP-Projekt, aber bei images/icons etc. sollte sich das ja haargenau gleich verhalten.
 
A

awda23ws23

Gast
Nachfolgendes Beispiel funktioniert einwandfrei, das Image liegt im Verzeichnis der Klasse. Denke, dass das dann mit der Struktur eines RCP-Projektes zu tun hat

Java:
public class HeaderFooter extends PdfPageEventHelper
{
private int seite=0;
private Image img=null;
private boolean showHeader=true;
private boolean showFooter=true;

public HeaderFooter(boolean showHeader,boolean showFooter)
    {
    this.showHeader=showHeader;
    this.showFooter=showFooter;
    try
        {
        URL url=ClassLoader.getSystemClassLoader().getResource("head.png");
        img=Image.getInstance(url);
        img.scaleAbsolute(250,40);
        }
    catch(Exception ex)
        {
        ex.printStackTrace();
        }
    }

@Override
public void onStartPage(PdfWriter writer,Document document)
    {
    seite++;
    if(showHeader)
        {
        PdfContentByte over=writer.getDirectContent();
        Rectangle rect=writer.getPageSize();
        img.setAbsolutePosition(10,rect.getHeight()-60);
        try
            {
            over.addImage(img);
            }
        catch(DocumentException ex)
            {
            ex.printStackTrace();
            }
        }
    }

@Override
public void onEndPage(PdfWriter writer,Document document)
    {
    if(showFooter)
        {
        Rectangle rect=writer.getPageSize();
        ColumnText.showTextAligned(writer.getDirectContent(),Element.ALIGN_CENTER,new Phrase(String.format("- %d -",seite)),rect.getRight()-30,15,0);
        }
    }

}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
izoards iText Lizenz? Allgemeine Java-Themen 2
O PDF auslesen und verändern, was ist besser iText oder PDFBox ? Allgemeine Java-Themen 9
I OpenPDF (ehem. iText) will kein PDF mit CMYK only erzeugen Allgemeine Java-Themen 6
N iText keine Sonderzeichen und Umlaute unter Windows Allgemeine Java-Themen 13
W PDFs signieren mittels IText / Lowagie Allgemeine Java-Themen 0
M itext - Button der Text in Zwischenablage stellt Allgemeine Java-Themen 0
S iText: zweite Seitenhälfte mit vorhandenen pdf füllen Allgemeine Java-Themen 2
T PDF-Generierung (itext) - läuft unter Eclipse, bei har aber leere Seite Allgemeine Java-Themen 39
S JFileChooser und iText Allgemeine Java-Themen 6
T iText mit eclipse richtig in Java-Projekt einbinden Allgemeine Java-Themen 2
4a61766120617274697374 PDF iText Wort Koordinaten auslesen Allgemeine Java-Themen 1
S iText Cellen mit Attributen aus ArrayListen füllen Allgemeine Java-Themen 1
G Mein PDF Projekt mit iText Allgemeine Java-Themen 2
T itext: text in ein textfeld hinzufügen Allgemeine Java-Themen 2
K Pdf mit dynamischem Text mit iText Allgemeine Java-Themen 0
C Itext Voralagen Header Footer -> PDF Allgemeine Java-Themen 0
J iText und PdfWriter.DID_SAVE Allgemeine Java-Themen 4
S runnable jar file in Verbindung mit itext Allgemeine Java-Themen 3
I itext Libreoffice Java und ein PDF Template Allgemeine Java-Themen 1
F Input/Output Problem mit iText: Formularfeld uneditierbar machen Allgemeine Java-Themen 0
L iText PDF-Generierung ohne Speichern Allgemeine Java-Themen 10
P iText Text zentrieren Allgemeine Java-Themen 3
L iText PDF Form-Felder werden nach Bearbeitung mit iText nicht mehr richtig erkannt. Allgemeine Java-Themen 2
A Tabelle mit iText erstellen Allgemeine Java-Themen 3
B itext Graphics Allgemeine Java-Themen 4
V iText Textfelder mit Zahlen! Allgemeine Java-Themen 2
H JTable per iText in PDF: Größenanpassung möglich? Allgemeine Java-Themen 2
M itext Leerzeichen am ende unterstreichen Allgemeine Java-Themen 4
C Wie kann man die IText Table Position bestimmen? Allgemeine Java-Themen 3
N iText-Nutzung (Version 2.1.7) in kommerzieller Website Allgemeine Java-Themen 8
K iText, HTML Einrückung im Document, aber nicht im Paragraph Allgemeine Java-Themen 3
B iText Portable Collection Acrobat X Allgemeine Java-Themen 2
S iText PDF - Verständnisproblem beim Update von TableCells (Seitenzahlen) Allgemeine Java-Themen 2
T iText Dokument in DB und dann in ein JPanel Allgemeine Java-Themen 5
N iText Problem beim verlinken anderer PDFs Allgemeine Java-Themen 2
G itext BarcodeDatamatrix Allgemeine Java-Themen 4
F IText Table ohne Rand Allgemeine Java-Themen 5
P Itext PDf wird zu groß Allgemeine Java-Themen 8
D Tabellenbeschriftung im RTF-File mit IText erstellen??? Allgemeine Java-Themen 2
D pdf mit iText drucken Allgemeine Java-Themen 4
P PDF erstellen ohne iText Allgemeine Java-Themen 3
Guybrush Threepwood iText de facto nicht mehr verwendbar Allgemeine Java-Themen 15
D tiff (->komprimieren)-> iText(pdf) Allgemeine Java-Themen 2
Dissi Itext - Anordnung von Elementen durch PDF Writer Allgemeine Java-Themen 2
Z iText - 2. Seite pdf Allgemeine Java-Themen 7
W itext: Initialer Abstand in einem Dokument Allgemeine Java-Themen 2
T Deckblatt im iText realisieren... Allgemeine Java-Themen 5
T JXPanel mit seinen Komponenten auf PDF mit iText ausgeben Allgemeine Java-Themen 15
T IText: Zwei A4 PDF´s auf ein A3 PDF´s Allgemeine Java-Themen 2
A Itext: Fonts einbetten Allgemeine Java-Themen 1
A Dynamische PDF Erstellung mit iText Allgemeine Java-Themen 4
D itext & Stringlänge Allgemeine Java-Themen 10
G iText Kursiv/Fett mit IText Allgemeine Java-Themen 3
F Probleme mit iText Allgemeine Java-Themen 3
R Pdf öffnen, das von iText erstellt wurde Allgemeine Java-Themen 4
D iText und Table.setTableFitsPage(); geht nicht Allgemeine Java-Themen 12
R Pfad zu PDF bei iText in Webapps Allgemeine Java-Themen 4
D Probleme beim Umstellen von iText 1.4.4 auf Version 2.1.2 Allgemeine Java-Themen 5
G itext größe von image Allgemeine Java-Themen 2
J itext cell border Allgemeine Java-Themen 1
E Aus mehreren PDFs eines machen, zusammenfügen mittels iText Allgemeine Java-Themen 1
T Java Applet PDF erstellen mit iText, Probleme mit Pfad Allgemeine Java-Themen 1
J Itext , Spaltenbreite automatisch anpassen ? Allgemeine Java-Themen 4
Lazybone iText und Drucken Allgemeine Java-Themen 5
J Itext Seite drehen ? Allgemeine Java-Themen 4
S iText Allgemeine Java-Themen 10
A Probleme mit iText - Text in Zellen ist zu lang Allgemeine Java-Themen 7
P RTF dynamisch machen (IText, Swing) Allgemeine Java-Themen 4
L iText: Mehrseitiges PDF erzeugen Allgemeine Java-Themen 9
L Per IText erstelltes PDF automatisch drucken Allgemeine Java-Themen 13
V Itext - "Seite . von " ausgeben Allgemeine Java-Themen 6
G iText: Problem beim Drucken von AcroFormen Allgemeine Java-Themen 2
B Probleme mit itext Allgemeine Java-Themen 2
T iText + neue Seite Allgemeine Java-Themen 14
K JFreeChart und itext: Bildprobleme Allgemeine Java-Themen 4
G iText: Wie stellt man die Höhe eines Strings fest? Allgemeine Java-Themen 3
V Lösung mit iText gesucht. Allgemeine Java-Themen 2
Z Frage zu iText Allgemeine Java-Themen 2
A Übergroße Graphics2D mit iText als PDF schreiben Allgemeine Java-Themen 3
D iText: Tabelle in Footer einfügen Allgemeine Java-Themen 6
R iText: PDF-Datei erzeugen Allgemeine Java-Themen 2
P iText unter Linux zum Laufen bringen Allgemeine Java-Themen 4
R iText.jar wird zur Laufzeit nicht gefunden Allgemeine Java-Themen 4
L editieren von pdf mit iText Allgemeine Java-Themen 2
S iText - Java meets PDF Allgemeine Java-Themen 5
D Datentypen Cache Images Heap Space Error Allgemeine Java-Themen 7
C images einbinden Allgemeine Java-Themen 7
X Images painten - Was ist schneller? Allgemeine Java-Themen 2
Kenan89 Schnelleres Einlesen von Images Allgemeine Java-Themen 6
D 2D-Grafik Funktionierende .jar datei mit Images (jpg) erzeugen Allgemeine Java-Themen 2
MQue Images für Buttons Allgemeine Java-Themen 5
P Images abwechselnd Darstellen Allgemeine Java-Themen 12
E aktualisieren eines Images Allgemeine Java-Themen 6
E 2 Images auf einem JFrame Allgemeine Java-Themen 8
A Pufferung von Images Allgemeine Java-Themen 7
L Label mit Images Allgemeine Java-Themen 20
F Dateigröße eines entfernen Images ermitteln Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben