在java中,如何仅在第一页之后使用itextpdf添加页眉或页脚?

在java中,如何仅在第一页之后使用itextpdf添加页眉或页脚?,java,itext,Java,Itext,我已经编写了一个java程序来下载pdf,但我只想在第一页之后向该pdf文档添加标题,我已经尝试了一些代码 class MyFooter extends PdfPageEventHelper { Font ffont = new Font(Font.FontFamily.UNDEFINED, 10, Font.BOLD); private void addHeader(PdfWriter writer,Document document){ PdfConten

我已经编写了一个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) 
但是这种情况不起作用

试试看

if (document.getPageNumber() > 1)
writer中的页码是PDF的页码,在写入PDF后会出现该页码。

请尝试

if (document.getPageNumber() > 1)

writer中的页码是PDF的页码,并且在编写PDF后会出现。

最好尝试这种方法

document.resetHeader();

在执行第一页逻辑之后。

最好尝试此方法

document.resetHeader();

在执行第一页逻辑之后。

这起作用。我使用:if(document.getPageNumber()==1)返回;这很有效。我使用:if(document.getPageNumber()==1)返回;OP显然使用页面事件来创建页眉和页脚。另一方面,您的解决方案只适用于使用
HeaderFooter
类的古老方式。OP显然使用页面事件来创建页眉和页脚。另一方面,您的解决方案只适用于使用
HeaderFooter
类的古老方法。