2015-12-10 1 views
0

У меня есть этот код я использую HTML в передней части и сервлеты и используя IText библиотекуДобавить номер страницы в формате PDF не используя Java sevlets и IText

  PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream("/home/sam/Desktop/java22.pdf")); 
      doc.open(); 
      writer.setPageEvent(PdfPageEventHelper); 

      doc.addHeader("ss", "ss"); 
      doc.add(new Paragraph("Executive Summary")); 
      doc.add(Chunk.NEWLINE); 
      htmlWorker.parse(new StringReader(e1)); 
      doc.add(Chunk.NEWLINE); 
      doc.add(Chunk.NEWLINE); 

      doc.newPage(); 



      doc.add(new Paragraph("Project Overview")); 
      doc.add(Chunk.NEWLINE); 
      htmlWorker.parse(new StringReader(e2)); 

      doc.add(Chunk.NEWLINE); 
      doc.add(Chunk.NEWLINE); 
      doc.newPage(); 

}

должны добавить страницу не в сноске пожалуйста, помогите мне

ответ

1

В вашем PageEventHelper реализовать метод onStartPage() onEndPage и pageCounter. Затем перейдите в directContent, чтобы добавить текст в нижнее положение.

int pageCount = 0; 

@Override 
public void onEndPage(PdfWriter writer, Document document) { 
    PdfContentByte imp = writer.getDirectContent(); 
    imp.beginText(); 

    //Play around here and adjust to values that fit nicely on your page 
    imp.setTextMatrix(65f, 30f); 

    imp.showText("Page " + (++pageCount)); 
    //End Text 
    imp.endText(); 
} 
+2

Пожалуйста, не используйте onStartPage(). Рекомендуется использовать onEndPage() –

+0

@ michaël-demey Можете ли вы дать ссылку на то, где это рекомендуется? Возможно, мне придется переработать некоторые из моих собственных реализаций :-) – Jan

+1

Это в книге iText: iText in Action 2nd Edition (глава 5). Это также описано здесь: http://developers.itextpdf.com/question/how-add-table-header (среди многих других мест). Я также сотрудник iText, поэтому у меня есть хорошие источники;) –

Смежные вопросы