iText 5页眉和页脚

时间:2012-02-02 15:59:03

标签: java pdf pdf-generation itext

如何在我的PDF页面中添加标题页脚? 我想要一个在标题和其他表格中有3列的表格,页脚中有3列。 我的页面可以是A3或A4,也可以是横向或纵向。

任何人都可以帮助我吗?我在互联网上找不到好的例子。

谢谢!

托马索

2 个答案:

答案 0 :(得分:4)

  1. 创建一个扩展 PdfPageEventHelper
  2. 的类MyPageEventListener
  3. 向PdfWriter对象添加页面事件侦听器
  4. 在MyPageEventListener类的 onEndPage 方法中,输入代码 页眉/页脚
  5. 示例:

    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 :(得分:0)

最简单的方法是首先在内存中生成整个PDF的内容,然后在创建所有页面后,您需要在pdfStamper中打开内存中的PDF并迭代所有页面添加到页眉和页脚对象是正确的坐标。

如果你快速谷歌搜索在itextPDF中添加页码,你会发现一些例子,你可以快速适应你的需要。

关键是它是在你创建pdf之后完成的,而不是之前的。