iText系列(四) iText加入页码

iText系列(四) iText加入页码如果不需要显示总页数 像 XofY 当前是第 X 页 共 Y 页之类的 下面的方法就够 在 Document open 之前加上 Java 代码 HeaderFooter newHeaderFoo newPhrase 页码 yourFont true footer setBorder Rectangle NO BORDER

如果不需要显示总页数(像X of Y , 当前是第X页,共Y页之类的),下面的方法就够.

在Document.open()之前加上

Java代码  

收藏代码

  1. HeaderFooter footer = new HeaderFooter(new Phrase(“页码:”,yourFont, true);  
  2. footer.setBorder(Rectangle.NO_BORDER);  
  3. document.setFooter(footer);  

 

Java代码  

收藏代码

  1. public class PDFMaker extends PdfPageEventHelper {  
  2.   
  3.       
  4.       
  5.     public PdfTemplate tpl;  
  6.       
  7.     public BaseFont helv;  
  8.       
  9.     public void make(Document doc) throws Exception  
  10.     {  
  11.           
  12.         pdf = new com.lowagie.text.Document(pagesize,10,10,10,10);  
  13.         PdfWriter writer = PdfWriter.getInstance(pdf,pdfout);  
  14.           
  15.         //设置页页事件监听器  
  16.         Font pageNumFont = new Font(bf_chn,9,Font.NORMAL);  
  17.         writer.setPageEvent(this);  
  18.   
  19.         pdf.open();  
  20.           
  21.         //正常的PDF写入操作代码  
  22.           
  23.         pdf.close();  
  24.       
  25.     }  
  26.   
  27.     @Override  
  28.     public void onCloseDocument(PdfWriter writer, com.lowagie.text.Document arg1) {  
  29.         // TODO Auto-generated method stub  
  30.            System.out.println(“OCD”);  
  31.            tpl.beginText();  
  32.            tpl.setFontAndSize(helv, 12);  
  33.            tpl.setTextMatrix(0, 0);  
  34.            tpl.showText(“” + (writer.getPageNumber() – 1));  
  35.            tpl.endText();  
  36.     }  
  37.   
  38.   
  39.       
  40.     @Override  
  41.     public void onEndPage(PdfWriter writer, com.lowagie.text.Document document) {  
  42.         // TODO Auto-generated method stub  
  43.         System.out.println(“OEP”);  
  44.         PdfContentByte cb = writer.getDirectContent();  
  45.         cb.saveState();  
  46.           
  47.         String text = “Page ” + writer.getPageNumber() + ” of “;  
  48.         float textSize = helv.getWidthPoint(text, 9);  
  49.         float textBase = document.bottom();  
  50.         cb.beginText();  
  51.         cb.setFontAndSize(helv, 9);  
  52.         // for odd pagenumbers, show t  
  53.   
  54.         cb.setTextMatrix(document.left(), textBase);  
  55.         cb.showText(text);  
  56.         cb.endText();  
  57.         cb.addTemplate(tpl, document.left() + textSize, textBase);  
  58.         cb.saveState();  
  59.     }  
  60.   
  61.   
  62.       
  63.     @Override  
  64.     public void onOpenDocument(PdfWriter writer, com.lowagie.text.Document arg1) {  
  65.         // TODO Auto-generated method stub  
  66.         System.out.println(“OOD”);  
  67.         try{  
  68.             // initialization of the template  
  69.             tpl = writer.getDirectContent().createTemplate(100, 100);  
  70.               
  71.            // tpl.setBoundingBox(new Rectangle(0, 0, 10, 10));  
  72.             // initialization of the font  
  73.             helv = BaseFont.createFont(“Helvetica”, BaseFont.WINANSI, false);  
  74.         }catch(Exception e)  
  75.         {  
  76.               
  77.         }  
  78.     }  
  79.   
  80. }  
  81.   
  82.       

转载自 http://nakupanda.iteye.com/blog/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220680.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午7:53
下一篇 2026年3月17日 下午7:54


相关推荐

  • java工作流_Java 实现简单工作流

    java工作流_Java 实现简单工作流工作流主要运用到反射机制创建一张工作流表如:主键|工作流Code|工作流内容其中工作流,内容为Json格式工作流内容如下{“procCode”:”OPS”,”procName”:”c端补齐(乘客信息补全)”,”taskControlVoList”:[{“sortNo”:”10″,”taskCode”:”OPC”,”taskName”:”检查对应的订单信息是否存在”,”taskl…

    2022年7月7日
    23
  • 最强Agent?3分钟看懂Kimi K2真的好用吗?

    最强Agent?3分钟看懂Kimi K2真的好用吗?

    2026年3月12日
    2
  • php工厂模式使用场景[通俗易懂]

    php工厂模式使用场景[通俗易懂]场景:使用工厂模式接入:阿里短信验证、腾讯短信验证、百度短信验证创建类文件BaseSMS.php–基础短信服务接口类AliSMS.php–阿里短信服务类BaiduSMS.php–百度短信服务类TencentSMS.php–腾讯短信服务类SmsBusiness.php–短信业务逻辑类具体代码BaseSMS.php–基础短信服务接口类interfaceBaseSMS{publicstaticfunctionsendCode($phone,$co

    2022年7月25日
    25
  • Pro ASP.NET MVC –第五章 使用Razor「建议收藏」

    Pro ASP.NET MVC –第五章 使用Razor「建议收藏」Pro ASP.NET MVC –第五章 使用Razor

    2022年4月21日
    66
  • Ubuntu RabbitVCS

    Ubuntu RabbitVCSsudoadd-apt-repositoryppa:rabbitvcs/ppasudoapt-getupdatesudoapt-getinstallrabbitvcs-corerabbitvcs-nautilus3rabbitvcs-clinautilus-q转载于:https://www.cnblogs.com/ouuy/archive/2012…

    2022年7月18日
    17
  • ElasticSearch 入门总结

    ElasticSearch 入门课程视频地址:ElasticSearch 入门一、ElasticSearch 简介1.1、什么是ElasticSearch​ 简称 ES基于Apache Lucene 构建的 开源搜索引擎,提供一个分布式多用户能力的全文搜索引擎采用 JAVA 编写的 ,提供简单易用的 RESTFul API(RESTFul web接口),当前流行…

    2022年2月27日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号