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

时间:2013-02-20 10:49:32

标签: java itext

在我的pdf中我需要有多个页眉和页脚。在标题中我想要左边的标题标题和中心的一些文字。

同样在页脚中,我需要在左侧打印我的公司名称,在中心打印页码,并在右侧的表格中输入一些有关内容的信息。

我看过很多帖子但是我没有得到正确的想法来创建这个。有人请帮我一些示例代码片段。谢谢

1 个答案:

答案 0 :(得分:3)

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

只需创建一个扩展PdfPageEventHelper的类并实现onEndPage()方法。阅读文档的人并没有犯下使用onStartPage()方法的常见错误,但也许您忽略了这一点,所以我将此作为额外的警告添加。

使用setPageEvent()方法将您的类的实例添加到PdfWriter对象。

我不知道我是否理解“多个”标题的含义。如果您有多个页面事件实现,则可以使用setPageEvent()方法将它们全部添加,并且它们都将被执行。如果要从一个页面事件实现切换到另一个页面事件实现,则需要先使用setPageEvent(null)

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

标题的位置取决于页码:

header

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

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

你说:“我看过很多帖子,但我没有得到正确的想法。”您将通过阅读文档获得正确的想法,更具体地说,是“动作中的iText - 第二版”一书的第5章,我将从中引用代码片段。