2012-02-02 192 views
4

如何在我的PDF頁面添加頁眉頁腳? 我想在表頭中有3列,其他表中有3列,在頁腳中有3列。 我的頁面可能是A3或A4,橫向或縱向。iText 5頁眉和頁腳

任何人都可以幫助我嗎?我無法在互聯網上找到很好的例子。

謝謝!

托馬索

回答

4
  1. 創建擴展PdfPageEventHelper
  2. 一個頁面事件監聽器添加到PdfWriter對象
  3. 在MyPageEventListener類的的OnEndPage方法的類MyPageEventListener,把代碼 爲頁眉/頁腳

例如:

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()); 
    }  
} 

註冊該偵聽器簡單地做

writer.setPageEvent(new MyPageEventListener()); 
+1

你的代碼是很混亂的,使用的是未定義的變量(如c_document或頭),並有意大利(?)的評論,你可以請clearify呢? – bmurauer 2014-10-03 11:46:20

0

要做到這一點,首先在內存中生成整個PDF內容最簡單的方法,那麼一旦所有的頁面被創建,你需要在pdfStamper打開內存PDF和遍歷所有添加到頁眉和頁腳對象中的頁面都是正確的座標。

如果您在itextPDF中添加頁碼的快速谷歌搜索,您會發現許多示例可以快速適應您的需求。

關鍵是它是在你創建pdf之後完成的,而不是之前。