【发布时间】:2011-11-04 13:25:44
【问题描述】:
大家好,我有一个 java 类,用于在 iText PDF 中显示页眉和页脚。
页码显示在页面顶部,页脚在页脚部分正确显示.. 现在我想在页脚位置显示页码...
以下代码我正在使用
public HeaderAndFooter() {
header = new Phrase("**** Header ****");
footer = new PdfPTable(1);
footer.setTotalWidth(130);
footer.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER);
footer.addCell(new Phrase(new Chunk(
"**** Footer summary****")
.setAction(new PdfAction(PdfAction.FIRSTPAGE))));
}
public void onEndPage(PdfWriter writer, Document document) {
PdfContentByte cb = writer.getDirectContent();
ColumnText.showTextAligned(cb, Element.ALIGN_RIGHT, new Phrase(String.format("%d", writer.getPageNumber()),
PDFUtil.getNormalFont()), (document
.right() - document.left())
/ 2 + document.leftMargin(), document.top() + 10, 0);
footer.writeSelectedRows(0, -1,
(document.right() - document.left() - 300) / 2
+ document.leftMargin(), document.bottom() - 10, cb);
}
}
我得到这样的输出
1 (header)
2011 年 8 月 26 日租赁详情 8 月 ---- 5500 个月
杂项----500 总计---5500
**** Footer summary (footer)
****
请建议我如何在页脚部分显示页码...Thankxxx in Advance
【问题讨论】:
-
什么版本的 IText?旧版本有 HeaderFooter 对象
-
您的 Phrase 与 writer.getPageNumber() 的输出是什么?如果它是空白的,请尝试在其周围添加一些文本以查看是否可能存在其他问题。这是获取页码的调用。您应该能够围绕该格式进行相应的格式化
标签: java pdf-generation itext