⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaultpdfexportview.java

📁 dispalytag的源码
💻 JAVA
字号:
/** * Licensed under the Artistic License; you may not use this file * except in compliance with the License. * You may obtain a copy of the License at * *      http://displaytag.sourceforge.net/license.html * * THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */package org.displaytag.export;import java.io.IOException;import java.io.OutputStream;import com.lowagie.text.Document;import com.lowagie.text.DocumentException;import com.lowagie.text.pdf.BaseFont;import com.lowagie.text.pdf.PdfContentByte;import com.lowagie.text.pdf.PdfPTable;import com.lowagie.text.pdf.PdfPageEventHelper;import com.lowagie.text.pdf.PdfTemplate;import com.lowagie.text.pdf.PdfWriter;/** * PDF exporter using iText. * @author Jorge L. Barroso * @version $Revision$ ($Author$) */public class DefaultPdfExportView extends DefaultItextExportView{    /**     * @see org.displaytag.export.BaseExportView#getMimeType()     * @return "application/pdf"     */    public String getMimeType()    {        return "application/pdf"; //$NON-NLS-1$    }    /**     * Initializes the PDF writer this export view uses to write the table document.     * @param document The iText document to be written.     * @param out The output stream to which the document is written.     * @throws DocumentException If something goes wrong during initialization.     */    protected void initItextWriter(Document document, OutputStream out) throws DocumentException    {        PdfWriter.getInstance(document, out).setPageEvent(new PageNumber());    }    /**     * Prints a page number at the bottom of each page. Based on     * http://itextdocs.lowagie.com/examples/com/lowagie/examples/directcontent/pageevents/PageNumbersWatermark.java     * @author Jorge L. Barroso     * @version $Revision$ ($Author$)     */    private static class PageNumber extends PdfPageEventHelper    {        /**         * @see com.lowagie.text.pdf.PdfPageEventHelper#onEndPage(com.lowagie.text.pdf.PdfWriter,         * com.lowagie.text.Document)         */        public void onEndPage(PdfWriter writer, Document document)        {            /** The headertable. */            PdfPTable table = new PdfPTable(2);            /** A template that will hold the total number of pages. */            PdfTemplate tpl = writer.getDirectContent().createTemplate(100, 100);            /** The font that will be used. */            BaseFont helv = null;            try            {                helv = BaseFont.createFont("Helvetica", BaseFont.WINANSI, false);            }            catch (DocumentException e)            {            }            catch (IOException e)            {            }            PdfContentByte cb = writer.getDirectContent();            cb.saveState();            // write the headertable            table.setTotalWidth(document.right() - document.left());            table.writeSelectedRows(0, -1, document.left(), document.getPageSize().height() - 50, cb);            // compose the footer            String text = "Page " + writer.getPageNumber();            float textSize = helv.getWidthPoint(text, 12);            float textBase = document.bottom() - 20;            cb.beginText();            cb.setFontAndSize(helv, 12);            float adjust = helv.getWidthPoint("0", 12);            cb.setTextMatrix(document.right() - textSize - adjust, textBase);            cb.showText(text);            cb.endText();            cb.addTemplate(tpl, document.right() - adjust, textBase);            cb.saveState();        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -