# Itext - "Seite . von " ausgeben



## Verena22 (23. Mai 2007)

Hallo allerseits!
Hat jemand von euch schon mal in der Fußzeile einer PDF mit Itext den ja eigentlich sehr üblichen Dokumententext "Seite ... von ..." sich ausgeben lassen? Oder hat jemand eine Ahnung wie man das machen kann?

Damit wäre mir sehr geholfen.

Gruß
Verena


----------



## The_S (23. Mai 2007)

Einfach die Seitenzahl zählen und drauf zeichnen!?


----------



## Verena22 (23. Mai 2007)

Ich bin mit Itext noch recht neu, wie macht man das denn dann? Die Seitenzahl von jeder Seite anzuzeigen ist kein Problem, aber bisher komme ich nicht an die Gesamtzahl der Seiten, die ich ja benötige. Ich habe irgendwo gelesen, dass das nur zum Schluss gemacht werden kann, aber wie das dann funktionieren soll, verstehe ich nicht.


----------



## The_S (23. Mai 2007)

kannst du nicht vorher berechnen wie viele Seiten du benötigst? Also ich mach das immer so. Kann natürlich auch sein, dass es da noch eine bedeutend einfachere Möglichkeit gibt  .


----------



## Verena22 (23. Mai 2007)

ich versuche es mal nach folgendem Beispiel: http://itext.ugent.be/library/com/lowagie/examples/directcontent/pageevents/pageNumbersWatermark.pdf

zu finden auf folgender seite:
http://itextdocs.lowagie.com/tutorial/


----------



## Gast2 (5. Jun 2007)

Hallo zusammen!!!
ich hab auch ein Problem mit itext ich bekomm es nicht hin eine linie oder ein rechteck zu zeichnen!!!!
hier meine 2 versuche,die kläglich gescheitert sind 


```
PdfGraphics2D graphics2D =  (PdfGraphics2D) cb.createGraphicsShapes(500, 700);  
			graphics2D.drawString("Hello World", 100, 400);   
			graphics2D.drawLine(500, 300, 200, 200);
			graphics2D.setBackground(Color.black);
			graphics2D.fillRect(50,50, 300,300);
			graphics2D.dispose();
```


```
Graphics2D graphics2D =  cb.createGraphicsShapes(500, 700);  
			graphics2D.drawString("Hello World", 100, 400);   
			graphics2D.drawLine(500, 300, 200, 200);
			graphics2D.setBackground(Color.black);
			graphics2D.fillRect(50,50, 300,300);
			graphics2D.dispose();
```


----------



## vogella (19. Jun 2007)

Hallo Verena22,

hat es geklappt?

Nach meinem Kenntnisstand würde ich das Dokument zweimal erzeugen. Einmal um die Gesamtanzahl der Seiten zu bekommen und dann um das entgültige Dokument zu erzeugen.

Also: tempFile anlegen.  

File tempFile = File.createTempFile("temp", "pdf");
tempFile.deleteOnExit();

Darauf Dein Dokument schreiben mit Gesamtanzahl immer Null.

PdfReader pdfReader = new PdfReader(tempFile.getAbsolutePath());
myTotalNumberOfPage = pdfReader.getNumberOfPages();

und dann das Dokument mit dem regulären Ziel schreiben.

Temp dann noch löschen. 

// Delete the tempfile
tempFile.delete();

Viele Grüße, Lars


----------

