iText Header

T

Tomm

Gast
Hi,

kann mir jemand sagen wie ich einfach oben und unten eine Zeile in mein PDF-Dokument reinzaubere? Das Objekt HeaderFooter gibt es in iText nicht mehr und alle Beispiele verwenden dies.
Danke
 

Guybrush Threepwood

Top Contributor
Ich mache das so: Die Klasse, die das PDF erstellt extends extends PdfPageEventHelper

Dann gibt es diverse Funktionen:
Java:
	/**
	 * @see com.lowagie.text.pdf.PdfPageEvent#onCloseDocument(com.lowagie.text.pdf.PdfWriter,
	 *      com.lowagie.text.Document)
	 */
	public void onCloseDocument(PdfWriter writer, Document document) {
		total.beginText();
		total.setFontAndSize(helv, 8);
		total.setTextMatrix(0, 0);
		total.showText(String.valueOf(writer.getPageNumber() - 1));
		total.endText();
	}

	/**
	 * @see com.lowagie.text.pdf.PdfPageEvent#onEndPage(com.lowagie.text.pdf.PdfWriter,
	 *      com.lowagie.text.Document)
	 */
	public void onEndPage(PdfWriter writer, Document document) {
		PdfContentByte cb = writer.getDirectContent();

		cb.saveState();
		String text = "Seite " + writer.getPageNumber() + " von ";
		float textBase = document.bottom() - 8;
		float textSize = helv.getWidthPoint(text, 8);
		float adjust = helv.getWidthPoint("0", 8);

		cb.beginText();
		cb.setFontAndSize(helv, 8);
		cb.setTextMatrix(document.right() - textSize - adjust, textBase);
		cb.showText(text);
		cb.setTextMatrix(document.left(), textBase);
		cb
				.showText("Text in Fußzeile");

		cb.endText();
		cb.addTemplate(total, document.right() - adjust, textBase);
		cb.restoreState();
	}

	/**
	 * @see com.lowagie.text.pdf.PdfPageEvent#onOpenDocument(com.lowagie.text.pdf.PdfWriter,
	 *      com.lowagie.text.Document)
	 */
	public void onOpenDocument(PdfWriter writer, Document document) {
		total = writer.getDirectContent().createTemplate(100, 100);
		total.setBoundingBox(new Rectangle(-20, -20, 100, 100));
		try {
			helv = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI,
					BaseFont.NOT_EMBEDDED);
		} catch (Exception e) {
			throw new ExceptionConverter(e);
		}
	}

(helv ist ein BaseFont-Objekt)

Auf diese Weise wird in meinen Dokumenten eine Fußzeile eingefügt. Verwendet wurde iText 2.1.7
 

Suinos

Bekanntes Mitglied
1. Beispiel (Ausschnitt) von Google:
Java:
/** Inner class to add a header and a footer. */
    static class HeaderFooter extends PdfPageEventHelper {

        public void onEndPage (PdfWriter writer, Document document) {
            Rectangle rect = writer.getBoxSize("art");
            switch(writer.getPageNumber() % 2) {
            case 0:
                ColumnText.showTextAligned(writer.getDirectContent(),
                        Element.ALIGN_RIGHT, new Phrase("even header"),
                        rect.getRight(), rect.getTop(), 0);
                break;
            case 1:
                ColumnText.showTextAligned(writer.getDirectContent(),
                        Element.ALIGN_LEFT, new Phrase("odd header"),
                        rect.getLeft(), rect.getTop(), 0);
                break;
            }
            ColumnText.showTextAligned(writer.getDirectContent(),
                    Element.ALIGN_CENTER, new Phrase(String.format("page %d", writer.getPageNumber())),
                    (rect.getLeft() + rect.getRight()) / 2, rect.getBottom() - 18, 0);
        }
    }
 

BitBoy

Aktives Mitglied
Bin auch kein itext Profi, aber beschäftige mich extensiv grad damit.
Ich plazier Text kreuz und quer mit....
[Java]
pdfdoc.open();
PdfContentByte canvas=writer.getDirectContent();//Kontrolle über dokument
canvas.beginText();
canvas.setFontAndSize(basefont, 18);//z.b
canvas.moveText(x, y);
canvas.showText(deinstring);
[/Java]
Bei moveText ist zu beachten, dass die Position relativ zum letzten Punkt ist, jedenfalls
bis du canvas.endText(); angibst. Dann hast Du wieder die Ursprungs Koordinaten (ich nutz da noch savestate, weis aber nicht obs das wirklich braucht. Ansonsten weiter mit...
[Java]
canvas.moveText(0, -20f);
canvas.showText("Bin ganz pep drunter ;-)");
canvas.endText();
[/Java]
Wie gesagt bin kein Profi, Angaben ohne Gewähr, wenn falsch bitte richtig stellen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M iText Zelleninhalt formatieren Java Basics - Anfänger-Themen 2
J Itext-Paragraph Position ändern Java Basics - Anfänger-Themen 13
F iText download/installieren Java Basics - Anfänger-Themen 22
tsom Erste Schritte itext Text als Block auf neue Seite Java Basics - Anfänger-Themen 0
K Java iText: The document has no pages. Java Basics - Anfänger-Themen 9
Ghostman1711 Itext PDF print File gelockt by Java Java Basics - Anfänger-Themen 15
M itext footer newline Java Basics - Anfänger-Themen 3
S Itext und eine neue Zeile einfügen Java Basics - Anfänger-Themen 2
Scorpi41 HTLM2PDF via IText Java Basics - Anfänger-Themen 8
N iText PDF Fehler, java.lang.ClassNotFoundException: com.lowagie.text.Phrase Java Basics - Anfänger-Themen 7
T Formatieren von Zellen einer PdfPTable mit IText Java Basics - Anfänger-Themen 3
I PDF aus JSF - Seite drucken mit iText Java Basics - Anfänger-Themen 5
W iText - Layer aus PDF heraus löschen Java Basics - Anfänger-Themen 1
D iText.jar mit meiner bat.datei einbinden Java Basics - Anfänger-Themen 10
J iText und so ^^ Java Basics - Anfänger-Themen 3
A IText, wo fange ich an? Java Basics - Anfänger-Themen 5
G iText mehrdeutiges Font Java Basics - Anfänger-Themen 2
J itext - Rechteck in PdfCell Java Basics - Anfänger-Themen 2
H itext verwenden mit jar Java Basics - Anfänger-Themen 2
S Drucken mit iText? Java Basics - Anfänger-Themen 7
R PDF erzeugen mit iText Java Basics - Anfänger-Themen 5
G Frage zu itext -> OutOfMemoryError Java Basics - Anfänger-Themen 5
P Eclipse "aufraeumen", iText-Lizenz, Exe-Datei erst Java Basics - Anfänger-Themen 7
H iText implementieren Java Basics - Anfänger-Themen 7
G Kassenbon mit itext Java Basics - Anfänger-Themen 4
F iText mit ppt ? Java Basics - Anfänger-Themen 3
richis-fragen JTable Header ausgeblendete (width = 0) nicht per mouseDragged aufziehen. Java Basics - Anfänger-Themen 9
P Http Header, Http Proxy Java Basics - Anfänger-Themen 19
C Klassen JTable wird ohne Header aufgebaut Java Basics - Anfänger-Themen 6
S Header- Datei erzeugen mit javah Java Basics - Anfänger-Themen 1
F JButton wie selektierter JTabbebPane-Header Java Basics - Anfänger-Themen 7
K JTable AbstractTableModel Header setzen Java Basics - Anfänger-Themen 6
H Eclipse Sync ohne File Header Java Basics - Anfänger-Themen 2
S Header von JTable lesen Java Basics - Anfänger-Themen 6
J JTable : Ausrichtung der Header Java Basics - Anfänger-Themen 4
C Antwort header anzeigen Java Basics - Anfänger-Themen 5
H Header von Textfile bearbeiten Java Basics - Anfänger-Themen 14
D JTable Header überschreiben. Java Basics - Anfänger-Themen 5
A table. kein header. kein scrollpane. Java Basics - Anfänger-Themen 5
G ersatz für header.h in java ? swict-case kanns nicht richtig Java Basics - Anfänger-Themen 6
S jTable - Header entfernen/ausblenden Java Basics - Anfänger-Themen 2
S Auslesen von Komponente aus Header Java Basics - Anfänger-Themen 2
G Header auslesen. Problem. Java Basics - Anfänger-Themen 40
N Header für Mail Java Basics - Anfänger-Themen 5
C Reading a page header with getHeaderField Java Basics - Anfänger-Themen 13
F Eigener IP-Paket-Header Java Basics - Anfänger-Themen 15
B File Header mit Java einlesen. Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben