2017-10-16 170 views
0

我已经写了一个Java程序来下载PDF文件,但是我只想在第一页之后向该pdf文档添加标题,我已经尝试了一些代码。如何在java中的第一页之后使用itextpdf添加页眉或页脚?

class MyFooter extends PdfPageEventHelper { 

    Font ffont = new Font(Font.FontFamily.UNDEFINED, 10, Font.BOLD); 

    private void addHeader(PdfWriter writer,Document document){ 
     PdfContentByte cb = writer.getDirectContent(); 
     Phrase header = new Phrase("Customer Id : ", ffont); 
     ColumnText.showTextAligned(cb, Element.ALIGN_CENTER, 
       header, 
       (document.right() - document.left())/2 + 
       document.leftMargin(), 
       document.top() - 10, 0); 

    } 

    private void addFooter(PdfWriter writer,Document document){ 
     PdfContentByte cb = writer.getDirectContent(); 
      Phrase footer = new Phrase("Page "+writer.getPageNumber(), 
      ffont); 
      ColumnText.showTextAligned(cb, Element.ALIGN_CENTER, 
        footer, 
        (document.right() - document.left())/2 + 
        document.leftMargin(), 
        document.bottom() - 10, 0); 
     } 


    public void onEndPage(PdfWriter writer, Document document) { 
     try{ 
      addHeader(writer,document); 
      addFooter(writer,document); 
     }catch(Exception e){ 
      e.printStackTrace(); 
     } 

    } 
} 

页脚功能是否工作正常,但我想报头功能,只有在第1页打印,所以我尝试使用

if(writer.getPageNumber() > 1) 

但是,这个条件是不工作

回答

1

尝试

if (document.getPageNumber() > 1) 

作者的页码是PDF的页码,将在那里呃写PDF。

相关问题