Wie füge ich Text als Kopf- oder Fußzeile hinzu?

Ich erstelle ein PDF mit iText 5 und möchte eine Fußzeile hinzufügen. Ich habe alles gemacht, wie das Buch "iText in Aktion" in Kapitel 14 sagt.

Es gibt keine Fehler, aber die Fußzeile wird nicht angezeigt. Kann mir jemand sagen, was ich falsch mache?

Mein Code:

public class PdfBuilder {

    private Document document;

    public void newDocument(String file) {
        document = new Document(PageSize.A4);
        writer = PdfWriter.getInstance(document, new FileOutputStream(file));
        MyFooter footerEvent = new MyFooter();
        writer.setPageEvent(footerEvent);
        document.open();

        ...

        document.close();
        writer.flush();
        writer.close();
    }

    class MyFooter extends PdfPageEventHelper {

    public void onEndPage(PdfWriter writer, Document document) {
        PdfContentByte cb = writer.getDirectContent();
        ColumnText.showTextAligned(cb, Element.ALIGN_CENTER, footer(), (document.right() - document.left()) / 2
                + document.leftMargin(), document.top() + 10, 0);

    }

    private Phrase footer() {
        Font ffont = new Font(Font.FontFamily.UNDEFINED, 5, Font.ITALIC);
        Phrase p = new Phrase("this is a footer");
        return p;
    }
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage