We use the same method and everything works fine, however I decided not to use the flying saucer built in the headers and use PdfStamper to add them after creating the PDF file, this works very well, here is an example.
public void modifyPdf(PdfStamper stamper) { this.reader = stamper.getReader(); PdfContentByte under = null; PdfPTable header = null; PdfPTable footer = null; final int total = this.reader.getNumberOfPages(); for (int page = 1; page <= total; page++) { under = stamper.getUnderContent(page); final PdfDocument doc = under.getPdfDocument(); final Rectangle rect = this.reader.getPageSizeWithRotation(page); header = ...
You can create your template this way:
final PdfReader reader = new PdfReader(); final PdfStamper stamper = new PdfStamper(reader, );
Hope you find this helpful.
epoch source share