itextpdf5設置頁眉頁腳、生成頁碼


itextpdf生成頁眉頁腳,可以通過繼承PdfPageEventHelper,重新里面的相關事件來進行。

常用的幾個:

onOpenDocument,文檔打開時觸發

onCloseDocument,文檔關閉時觸發

onStartPage,頁面開始寫入前觸發

onEndPage,頁面寫入完成后觸發

設置頁眉頁腳時可以使用OnEndPage,配合ColumnText類,在頁面特定位置輸出。

        /**
         * 在一個頁面寫入完成后觸發
         */
        @Override
        public void onEndPage(PdfWriter writer, Document doc) {
            Font headFont = FontFactory.getFont(FONT, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 9,Font.NORMAL,BaseColor.BLACK);
            //添加標題文本
            StringBuffer underline = new StringBuffer();
            for(int i = 0;i<116;i++) {
                underline.append("_");
            }
            Phrase contentPh = new Phrase("這是是頁眉",headFont);
            Phrase underlinePh = new Phrase(underline.toString(),headFont);
            Phrase pageNumberPh = new Phrase(String.valueOf(doc.getPageNumber()),headFont);
            float center = doc.getPageSize().getRight()/2;//頁面的水平中點
            float top = doc.getPageSize().getTop()-36;
            float bottom = doc.getPageSize().getBottom()+36;
            
            /** 參數xy是指文本顯示的頁面上的哪個店。alignment指文本在坐標點的對齊方式 */
            ColumnText.showTextAligned(writer.getDirectContent(),Element.ALIGN_CENTER,contentPh,center,top,0); //頁眉
            ColumnText.showTextAligned(writer.getDirectContent(),Element.ALIGN_CENTER,underlinePh,center,top-3,0); //頁眉
            ColumnText.showTextAligned(writer.getDirectContent(),Element.ALIGN_CENTER,pageNumberPh,center,bottom,0); //頁碼
        }
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM