【发布时间】:2017-10-16 13:36:24
【问题描述】:
我写了一个java程序来下载一个pdf,但是我想在第一页之后给那个pdf文档添加标题,我已经尝试了一些代码。
class MyFooter extends PdfPageEventHelper {
Font ffont = new Font(Font.FontFamily.UNDEFINED, 10, Font.BOLD);
private void addHeader(PdfWriter writer,Document document){
PdfContentByte cb = writer.getDirectContent();
Phrase header = new Phrase("Customer Id : ", ffont);
ColumnText.showTextAligned(cb, Element.ALIGN_CENTER,
header,
(document.right() - document.left()) / 2 +
document.leftMargin(),
document.top() - 10, 0);
}
private void addFooter(PdfWriter writer,Document document){
PdfContentByte cb = writer.getDirectContent();
Phrase footer = new Phrase("Page "+writer.getPageNumber(),
ffont);
ColumnText.showTextAligned(cb, Element.ALIGN_CENTER,
footer,
(document.right() - document.left()) / 2 +
document.leftMargin(),
document.bottom() - 10, 0);
}
public void onEndPage(PdfWriter writer, Document document) {
try{
addHeader(writer,document);
addFooter(writer,document);
}catch(Exception e){
e.printStackTrace();
}
}
}
页脚功能正常,但我希望页眉功能仅在第一页后打印,所以我尝试使用
if(writer.getPageNumber() > 1)
但这种情况不起作用
【问题讨论】: