iText 7 페이지 번호 넣기

조회 3,990 · 댓글 0
강철지그강철지그작성자2017년 3월 24일
샘플 코드입니다.


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);

로그인 후 답글을 남길 수 있습니다.