Java的itext常见方法总结–4(页头,页尾,页码)
Document document = new Document();
PdfWriter pdfWriter = PdfWriter.getInstance(document,new FileOutputStream("D:\\appblog\\PDF\\水印.pdf"));
document.open();
//获取页码
pdfWriter.getPageNumber();
pdfWriter.setPageEvent(new PdfPageEventHelper() {
@Override
public void onStartPage(PdfWriter writer, Document document) {
//这个newPage之后执行的
//水印字体,可以使用这个来制作页码
//ColumnText.showTextAligned(writer.getDirectContent(), ALIGN_RIGHT, new Phrase("Header"), 40, 20, 0);
//writer.getDirectContent().addImage(); 这个可以添加图片
//这个是行分割符号
LineSeparator lineSeparator = new LineSeparator();
//drawLine的参数:PdfContentByte canvas, float leftX, float rightX, float y
//leftX代表的是要画的这个线相对这个PDF页面的长度
//rightX代表的是:这条线的X的坐标
//y代表的是:这条线y的坐标
lineSeparator.drawLine(writer.getDirectContent(), document.getPageSize().getWidth(), 0, 60);
}
@Override
public void onEndPage(PdfWriter writer, Document document) {
//这个是newPage之前执行的
ColumnText.showTextAligned(writer.getDirectContent(), ALIGN_RIGHT, new Phrase("Header"), 40, document.getPageSize().getHeight()-20, 0);
LineSeparator lineSeparator = new LineSeparator();
lineSeparator.drawLine(writer.getDirectContent(), document.getPageSize().getWidth(), 0, document.getPageSize().getHeight()-25);
//页码
ColumnText.showTextAligned(writer.getDirectContent(), ALIGN_CENTER, new Phrase("theFirst " + writer.getPageNumber() + " Page"), document.getPageSize().getWidth()/2, 40, 0);
}
@Override
public void onCloseDocument(PdfWriter writer, Document document) {
//执行documnet.close方法之前还会执行一次onCloseDocument方法,
//但是执行onCloseDocument方法前,之前还会先执行onEndPage方法一次才轮到onCloseDocument方法
//也就是说,documnet.close的时候:是先 onEndPage --> onCloseDocument --> documnet.close
System.out.println("关闭文档");
}
});
document.add(new Paragraph(" "));
document.newPage();
document.add(new Paragraph(" "));
document.close();
pdfWriter.close();
版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2024/01/24/java-itext-page-header-footer-number/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。
THE END
1
二维码
打赏
海报
Java的itext常见方法总结–4(页头,页尾,页码)
Document document = new Document();
PdfWriter pdfWriter = PdfWriter.getInstance(document,new FileOutputStream("D:\\appblog\\PDF\\水印.pdf"……
文章目录
关闭
共有 0 条评论