itext分頁(轉)


轉自:http://hi.baidu.com/ae6623/item/345b261ccfe597fd9d778a1f

importjava.io.FileOutputStream;

 

importcom.lowagie.text.Document;

importcom.lowagie.text.Element;

importcom.lowagie.text.ExceptionConverter;

importcom.lowagie.text.Font;

importcom.lowagie.text.PageSize;

importcom.lowagie.text.Paragraph;

importcom.lowagie.text.pdf.BaseFont;

importcom.lowagie.text.pdf.PdfContentByte;

importcom.lowagie.text.pdf.PdfPageEventHelper;

importcom.lowagie.text.pdf.PdfTemplate;

importcom.lowagie.text.pdf.PdfWriter;

 

public classPdfExport extendsPdfPageEventHelper {

 

        publicPdfTemplate tpl;

        publicBaseFont bf;

 

        public static voidmain (String[] args) {

            Document document = newDocument (PageSize.A4, 20, 20, 20, 20);

 

            try{

                PdfWriter writer = PdfWriter.getInstance(document, newFileOutputStream ("D:\\HelloItext.pdf") );

                writer.setPageEvent (newPdfExport() );

 

                BaseFont bfChinese = BaseFont.createFont("STSong-Light""UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);

 

                document.open();

 

                Paragraph title = newParagraph ("測試內容。。。。"newFont (bfChinese,15) );

                title.setAlignment (Element.ALIGN_CENTER);

                document.add (title);

 

            } catch(Exception de) {

                de.printStackTrace();

            }

 

            document.close();

        }

 

        public voidonOpenDocument (PdfWriter writer, Documentdocument) {

            try{

                tpl= writer.getDirectContent().createTemplate(100, 100);

                bf= BaseFont.createFont("STSong-Light""UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);

 

            } catch(Exception e) {

                throw newExceptionConverter (e);

            }

        }

 

        public voidonEndPage (PdfWriter writer, Documentdocument) {

            //在每頁結束的時候把x信息寫道模版指定位置

            PdfContentByte cb =writer.getDirectContent();

            cb.saveState();

            String text = ""+writer.getPageNumber() + ",";

            cb.beginText();

            cb.setFontAndSize (bf, 8);

            cb.setTextMatrix (460, 786); //定位x,” 在具體的頁面調試時候需要更改這xy的坐標

            cb.showText (text);

            cb.endText();

            cb.addTemplate (tpl, 492, 786); //定位“y” 在具體的頁面調試時候需要更改這xy的坐標

 

            cb.saveState();

            cb.stroke();

            cb.restoreState();

            cb.closePath();//sanityCheck();

        }

 

        public voidonCloseDocument (PdfWriter writer, Documentdocument) {

            //關閉document的時候獲取總頁數,並把總頁數按模版寫道之前預留的位置

            tpl.beginText();

            tpl.setFontAndSize (bf, 8);

            tpl.showText (Integer.toString(writer.getPageNumber() - 1) + "");

            tpl.endText();

            tpl.closePath();//sanityCheck();

        }

}

 


免責聲明!

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



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