zoukankan      html  css  js  c++  java
  • itextpdf5设置页眉页脚、生成页码

    itextpdf生成页眉页脚,可以通过继承PdfPageEventHelper,重新里面的相关事件来进行。

    常用的几个:

    onOpenDocument,文档打开时触发

    onCloseDocument,文档关闭时触发

    onStartPage,页面开始写入前触发

    onEndPage,页面写入完成后触发

    设置页眉页脚时可以使用OnEndPage,配合ColumnText类,在页面特定位置输出。

            /**
             * 在一个页面写入完成后触发
             */
            @Override
            public void onEndPage(PdfWriter writer, Document doc) {
                Font headFont = FontFactory.getFont(FONT, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 9,Font.NORMAL,BaseColor.BLACK);
                //添加标题文本
                StringBuffer underline = new StringBuffer();
                for(int i = 0;i<116;i++) {
                    underline.append("_");
                }
                Phrase contentPh = new Phrase("这是是页眉",headFont);
                Phrase underlinePh = new Phrase(underline.toString(),headFont);
                Phrase pageNumberPh = new Phrase(String.valueOf(doc.getPageNumber()),headFont);
                float center = doc.getPageSize().getRight()/2;//页面的水平中点
                float top = doc.getPageSize().getTop()-36;
                float bottom = doc.getPageSize().getBottom()+36;
                
                /** 参数xy是指文本显示的页面上的哪个店。alignment指文本在坐标点的对齐方式 */
                ColumnText.showTextAligned(writer.getDirectContent(),Element.ALIGN_CENTER,contentPh,center,top,0); //页眉
                ColumnText.showTextAligned(writer.getDirectContent(),Element.ALIGN_CENTER,underlinePh,center,top-3,0); //页眉
                ColumnText.showTextAligned(writer.getDirectContent(),Element.ALIGN_CENTER,pageNumberPh,center,bottom,0); //页码
            }
            
    就算这个世道烂成一堆粪坑,那也不是你吃屎的理由
  • 相关阅读:
    阅读笔记
    个人总结
    《软件需求(第二版)》阅读笔记02
    《软件需求(第二版)》阅读笔记01
    问题账户需求分析
    2017年秋季个人阅读计划
    阅读笔记一之《软件需求与分析》
    每日总结1
    开发体会(模块3.商品分类管理)
    个人总结
  • 原文地址:https://www.cnblogs.com/whalesea/p/11776632.html
Copyright © 2011-2022 走看看