在我的pdf中我需要有多个页眉和页脚。在标题中我想要左边的标题标题和中心的一些文字。
同样在页脚中,我需要在左侧打印我的公司名称,在中心打印页码,并在右侧的表格中输入一些有关内容的信息。
我看过很多帖子但是我没有得到正确的想法来创建这个。有人请帮我一些示例代码片段。谢谢
答案 0 :(得分:3)
页面和页脚应使用“页面事件”添加。如果您需要一些示例,只需在官方网站上查找关键字header / footer。
只需创建一个扩展PdfPageEventHelper
的类并实现onEndPage()
方法。阅读文档的人并没有犯下使用onStartPage()
方法的常见错误,但也许您忽略了这一点,所以我将此作为额外的警告添加。
使用setPageEvent()
方法将您的类的实例添加到PdfWriter对象。
我不知道我是否理解“多个”标题的含义。如果您有多个页面事件实现,则可以使用setPageEvent()
方法将它们全部添加,并且它们都将被执行。如果要从一个页面事件实现切换到另一个页面事件实现,则需要先使用setPageEvent(null)
。
也许您希望不同页面的标题不同,只需在页面事件实现中使用成员变量并在此过程中进行更改。在其中一个名为MovieHistory2的书籍示例中,标题的文本存储在名为String
的{{1}}数组中。
标题的位置取决于页码:
header
对于偶数页码,标题添加到右侧;对于左侧的奇数页码。如您所见,页脚居中。
您还提到了标头表。如果您想使用表格,请查看MovieCountries1示例。
你说:“我看过很多帖子,但我没有得到正确的想法。”您将通过阅读文档获得正确的想法,更具体地说,是“动作中的iText - 第二版”一书的第5章,我将从中引用代码片段。