【问题标题】:How to add header or footer using itextpdf only after first page in java?java - 如何仅在java中的第一页之后使用itextpdf添加页眉或页脚?
【发布时间】: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) 

但这种情况不起作用

【问题讨论】:

    标签: java itext


    【解决方案1】:

    试试

    if (document.getPageNumber() > 1)
    

    writer中的页码是PDF的页码,写完PDF后会出现。

    【讨论】:

    • 这行得通。我使用: if (document.getPageNumber() == 1) return;
    【解决方案2】:

    最好试试这个方法

    document.resetHeader();
    

    第一页逻辑执行后。

    【讨论】:

    • OP 清楚地使用页面事件来创建页眉和页脚。另一方面,您的解决方案仅适用于使用 HeaderFooter 类的古老方式。
    猜你喜欢
    • 2013-11-08
    • 2017-06-14
    • 2015-04-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2011-11-04
    • 2013-11-20
    • 1970-01-01
    相关资源
    最近更新 更多