Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

how I can add in my PDF page the header and the footer? I wanna a table with 3 column in header and other table, 3 column in the footer. My page could be A3 or A4, and landscape or portrait.

Can anyone help me? I can not found on internet good examples.

Thanks!

Tommaso

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
869 views
Welcome To Ask or Share your Answers For Others

1 Answer

  1. Create a class MyPageEventListener that extends PdfPageEventHelper
  2. Add a page event listener to the PdfWriter object
  3. In the onEndPage method of MyPageEventListener class, put the code for header/footer

Example:

public class MyPageEventListener extends PdfPageEventHelper {
  . . .
  @Override
  public void onEndPage(PdfWriter writer, Document document) {
     //code skeleton to write page header
     PdfPTable tbl = new PdfPTable(3);
     tbl.addCell("1st cell");
     tbl.addCell("2nd cell");
     tbl.addCell("3rd cell");
     float x = document.leftMargin();
     float hei = getMyHeaderHeight(); //custom method that return header's height 
     //align bottom between page edge and page margin
     float y = document.top() + hei;

     //write the table
     tbl.writeSelectedRows(0, -1, x, y, writer.getDirectContent());
  }    
}

to register the listener simply do

writer.setPageEvent(new MyPageEventListener());

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...