iText 生成pdf,分页问题

本文介绍了如何使用iText库在生成PDF时处理分页问题,通过onEndPage方法设置每页的页眉,显示当前页和总页数。同时,利用onParagraph和onParagraphEnd方法跟踪消息的页数,动态更新页眉的总页数信息。
摘要由CSDN通过智能技术生成
iText生成pdf文件时,会遇到分页(page X of Y)的需求。
iText分页主要有2个方法:
1. 创建一个document(不含page X of Y信息)放内存中,新建一个PdfReader对象,通过PdfReader对象得到PdfStamper,使用PdfStamper把分页号写入每一页的页眉或页脚。当需要生成pdf的页面较多时,计算页号就有可能发生不准确。
2. 在Page Event(如onEndPage)里增加Page X of 信息,同时增加一个空的模板应用到所有的页面上。当onCloseDocument事件发生时, 设置Y的值到模板上,并应用到每个页面上。

下面重点来聊聊第二种方法。

1. onStartPage() - 当一个新的页面开始时触发 Triggered when a new page is started. Don’t add content in
this event, not even a header or footer . Use this event for initializing vari-
ables or setting parameters that are page specific, such as the transition or
duration parameters.
2. onEndPage()—Triggered just before starting a new page. This is the best place to add a header, a footer, a watermark, and so on.
3. onOpenDocument()—Triggered when a document is opened, just before onStartPage() is called for
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值