栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用itext在pdf中添加多个页眉和页脚

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用itext在pdf中添加多个页眉和页脚

页眉和页脚应使用“页面事件”添加。如果您需要一些示例,只需在官方网站上查找关键字header
/ footer。

只需创建一个扩展

PdfPageEventHelper
并实现该
onEndPage()
方法的类。阅读文档的人不会常犯使用该
onStartPage()
方法的错误,但是也许您忽略了此方法,因此,我将其添加为一个额外的警告。

使用方法将类的实例添加到PdfWriter对象

setPageEvent()

我不知道我是否理解“多个”标头的含义。如果您有多个页面事件实现,则可以使用

setPageEvent()
方法将它们全部添加,它们将全部执行。如果要从一个页面事件实现切换到另一个页面事件实现,则需要先使用
setPageEvent(null)

也许您希望不同页面的页眉不同,只需在页面事件实现中使用成员变量并在此过程中进行更改即可。在其中一个名为MovieHistory2的书籍示例中,标题的文本存储在

String
名为的数组中
header

页眉的位置取决于页码:

    public void onEndPage(PdfWriter writer, document document) {        Rectangle rect = writer.getBoxSize("art");        switch(writer.getPageNumber() % 2) {        case 0: ColumnText.showTextAligned(writer.getDirectContent(),         Element.ALIGN_RIGHT, header[0],         rect.getRight(), rect.getTop(), 0); break;        case 1: ColumnText.showTextAligned(writer.getDirectContent(),         Element.ALIGN_LEFT, header[1],         rect.getLeft(), rect.getTop(), 0); break;        }        ColumnText.showTextAligned(writer.getDirectContent(),     Element.ALIGN_CENTER, new Phrase(String.format("page %d", pagenumber)),     (rect.getLeft() + rect.getRight()) / 2, rect.getBottom() - 18, 0);    }

对于偶数页码,标题添加到右侧;左边的奇数页码。如您所见,页脚居中。

您还提到了标题表。如果要使用表格,请查看MovieCountries1示例。

您说:“我看过这么多帖子,但是我没有正确的想法来创建它。” 通过阅读文档,尤其是“ iText in Action-Second
Edition”一书的第5章,您将获得正确的想法,其中引用了我所引用的代码片段。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/428331.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号