ovviamente non voleva essere un copia-incolla: c'è da leggersi un po' di documentazione e comprendere la gestione degli eventi in iText (ce n'è diversi, ma qui utilizziamo solo onPageStart e onPageEnd).

Questo dovrebbe essere un esempio funzionante
codice:
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.*;
import java.io.*;
/**
 *
 * @author Andrea
 */
public class HeaderFooter {
    
    private Image header, footer;
    private String path = "C:/Users/Andrea/Desktop/headerfooter.pdf";
    
    class PageEventsHandler extends PdfPageEventHelper {
        
        public void onStartPage (PdfWriter writer, Document document) {
            try {
                document.add(header);
            }
            catch (Exception e) {
                e.printStackTrace();
            }
        }
        
        public void onEndPage (PdfWriter writer, Document document) {
            try {                            
                document.add(footer);
            }
            catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    
    
    public HeaderFooter() {
        try {
            this.header = Image.getInstance("header.jpg");
            this.footer = Image.getInstance("footer.jpg");
            float footerHeight = footer.getHeight();
            
            footer.setAbsolutePosition(20, 20);            
            
            Document document = new Document(PageSize.A4, 20, 20, 20, 20+footerHeight);
            
            PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(path));
            PageEventsHandler events = new PageEventsHandler();
            writer.setPageEvent(events);
            
            document.open();
            for (int i = 0; i < 100; i++) {
                document.add(new Paragraph("Riga: "+i+"...  Testiamo sta cosa"));
            }
            document.close();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    
    public static void main (String[] args) {
        new HeaderFooter();
    }
    
}
Crea un documento in formato A4, con margini tutti uguali. Font standard (un po' grandino). Le immagini non sono ottimizzate, però se vuoi te le allego lo stesso (sono alte 100).

Quel che faccio è: definisco i margini a 20 (alto, sinistro e destro). Per il margine inferiore prendo 20 + l'altezza dell'immagine. Il footer è posizionato in modo assoluto, a 20:20. Il resto lo fa in automatico.