2017-10-16 2 views
0

私はpdfをダウンロードするためのJavaプログラムを書いていますが、私は最初のページの後にのみ、その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を書く

関連する問題