iText 7 페이지 번호 넣기

  • jeeg
    (강철지그)
  • jeeg's Avatar 이 글의 작성자
  • Offline
  • Junior
  • Junior
더보기
25 Mar 2017 06:56 - 25 Mar 2017 06:56 #1997 작성자: jeeg
jeeg 님의 글: iText 7 페이지 번호 넣기
샘플 코드입니다.

int n = pdf.getNumberOfPages();
Paragraph footer;
for (int page = 1; page <= n; page++) {
    footer = new Paragraph(String.format("Page %s of %s", page, n));
    document.showTextAligned(footer, 297.5f, 20, page,
        TextAlignment.CENTER, VerticalAlignment.MIDDLE, 0);
}
document.close();

만약 아래와 같은 오류가 난다면 immediateFlush를 false로 설정해야 합니다.

java.lang.NullPointerException
	at com.itextpdf.kernel.pdf.PdfDictionary.get(PdfDictionary.java:552)
	at com.itextpdf.kernel.pdf.PdfDictionary.get(PdfDictionary.java:146)
	at com.itextpdf.kernel.pdf.PdfPage.getContentStreamCount(PdfPage.java:203)
	at com.itextpdf.kernel.pdf.PdfPage.getLastContentStream(PdfPage.java:230)
	at com.itextpdf.kernel.pdf.canvas.PdfCanvas.getPageStream(PdfCanvas.java:2375)
	at com.itextpdf.kernel.pdf.canvas.PdfCanvas.<init>(PdfCanvas.java:236)
	at com.itextpdf.layout.renderer.DocumentRenderer.flushSingleRenderer(DocumentRenderer.java:118)
	at com.itextpdf.layout.renderer.RootRenderer.addChild(RootRenderer.java:225)
	at com.itextpdf.layout.RootElement.add(RootElement.java:108)
	at com.itextpdf.layout.Document.add(Document.java:143)
	at com.itextpdf.layout.Document.add(Document.java:68)
	at com.itextpdf.layout.RootElement.showTextAligned(RootElement.java:359)

예를 들어,

document = new Document(pdf, PageSize.A4);


라면 아래왜 같이 하면 됩니다.
document = new Document(pdf, PageSize.A4, false);
Time to create page: 0.050 seconds
Powered by Kunena Forum