Itext生成PDF文档页脚问题的处理,是采用HeaderFooter还是采用模板的方式

本文探讨了在使用Itext2.1.7版本生成PDF文档时遇到的页脚格式要求问题。通过比较HeaderFooter和模板方法,发现HeaderFooter无法实现总页数的显示,而模板类结合事件处理可以实现这一功能。由于HeaderFooter与PDF表格之间的空白无法消除,作者最终选择了模板类来完美实现定制化的页脚,包括在每个页脚生成所需的格式(A4横向和纵向)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为生成的PDF有特定的页脚格式要求,所以查看网上资料有两种方式

1.采用HeaderFooter,简便,代码简单,但是不能实现第几页/共几页里面的总页数的实现(一般在itext的低版本中使用这种方式)

2.采用模板类,利用一些事件进行处理(不限itext版本)

本人使用的是itext2.1.7版本

实现方式以及结果:

1.HeaderFooter

           String var1="制表人:xxx"+"                          ";
           Dated = new Date();
           SimpleDateFormat sdf=newSimpleDateFormat("yyyy-MM-dd");
          String var2="                           "+sdf.format(d);
           HeaderFooterfooter=new HeaderFooter(new Phrase(var1+"-",f3),newPhrase("-"+var2,f3)); 
           footer.setAlignment(1);
           footer.setBorder(0);
          pdfDocument.setFooter(footer);

这种方式可以实现不计总页数的完美显示

显示图:如下

由于页脚和pdftable之间总有1-2CM的空白,我的pdftable是自动分页的,查阅了itext的api文档,空白如何而来怎么去除不能解释,所以这种方式放弃

2.模板类实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值