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

📄 rtfheaderfootergroup.java

📁 iText是一个能够快速产生PDF文件的java类库。iText的java类对于那些要产生包含文本
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
        ByteArrayOutputStream result = new ByteArrayOutputStream();
        try {
        	writeContent(result);
        } catch(IOException ioe) {
            ioe.printStackTrace();
        }
        return result.toByteArray();
    }
    /**
     * Write the content of this RtfHeaderFooterGroup.
     */    
    public void writeContent(final OutputStream result) throws IOException
    {
        if(this.mode == MODE_SINGLE) {
            //result.write(headerAll.write());
        	headerAll.writeContent(result);
        } else if(this.mode == MODE_MULTIPLE) {
            if(headerFirst != null) {
                //result.write(headerFirst.write());
            	headerFirst.writeContent(result);
            }
            if(headerLeft != null) {
                //result.write(headerLeft.write());
                headerLeft.writeContent(result);
            }
            if(headerRight != null) {
                //result.write(headerRight.write());
                headerRight.writeContent(result);
            }
            if(headerAll != null) {
                //result.write(headerAll.write());
                headerAll.writeContent(result);
            }
        }
    }        
    
    /**
     * Set a RtfHeaderFooter to be displayed at a certain position
     * 
     * @param headerFooter The RtfHeaderFooter to display
     * @param displayAt The display location to use
     */
    public void setHeaderFooter(RtfHeaderFooter headerFooter, int displayAt) {
        this.mode = MODE_MULTIPLE;
        headerFooter.setRtfDocument(this.document);
        headerFooter.setType(this.type);
        headerFooter.setDisplayAt(displayAt);
        switch(displayAt) {
            case RtfHeaderFooter.DISPLAY_ALL_PAGES:
                headerAll = headerFooter;
            	break;
            case RtfHeaderFooter.DISPLAY_FIRST_PAGE:
                headerFirst = headerFooter;
                break;
            case RtfHeaderFooter.DISPLAY_LEFT_PAGES:
                headerLeft = headerFooter;
                break;
            case RtfHeaderFooter.DISPLAY_RIGHT_PAGES:
                headerRight = headerFooter;
                break;
        }
    }
    
    /**
     * Set a HeaderFooter to be displayed at a certain position
     * 
     * @param headerFooter The HeaderFooter to set
     * @param displayAt The display location to use
     */
    public void setHeaderFooter(HeaderFooter headerFooter, int displayAt) {
        this.mode = MODE_MULTIPLE;
        switch(displayAt) {
            case RtfHeaderFooter.DISPLAY_ALL_PAGES:
                headerAll = new RtfHeaderFooter(this.document, headerFooter, this.type, displayAt);
            	break;
            case RtfHeaderFooter.DISPLAY_FIRST_PAGE:
                headerFirst = new RtfHeaderFooter(this.document, headerFooter, this.type, displayAt);
                break;
            case RtfHeaderFooter.DISPLAY_LEFT_PAGES:
                headerLeft = new RtfHeaderFooter(this.document, headerFooter, this.type, displayAt);
                break;
            case RtfHeaderFooter.DISPLAY_RIGHT_PAGES:
                headerRight = new RtfHeaderFooter(this.document, headerFooter, this.type, displayAt);
                break;
        }
    }
    
    /**
     * Set that this RtfHeaderFooterGroup should have a title page. If only
     * a header / footer for all pages exists, then it will be copied to the
     * first page aswell.
     */
    public void setHasTitlePage() {
        if(this.mode == MODE_SINGLE) {
            this.mode = MODE_MULTIPLE;
            headerFirst = new RtfHeaderFooter(this.document, headerAll, RtfHeaderFooter.DISPLAY_FIRST_PAGE);
            headerFirst.setType(this.type);
        }
    }
    
    /**
     * Set that this RtfHeaderFooterGroup should have facing pages. If only
     * a header / footer for all pages exists, then it will be copied to the left
     * and right pages aswell.
     */
    public void setHasFacingPages() {
        if(this.mode == MODE_SINGLE) {
            this.mode = MODE_MULTIPLE;
            this.headerLeft = new RtfHeaderFooter(this.document, this.headerAll, RtfHeaderFooter.DISPLAY_LEFT_PAGES);
            this.headerLeft.setType(this.type);
            this.headerRight = new RtfHeaderFooter(this.document, this.headerAll, RtfHeaderFooter.DISPLAY_RIGHT_PAGES);
            this.headerRight.setType(this.type);
            this.headerAll = null;
        } else if(this.mode == MODE_MULTIPLE) {
            if(this.headerLeft == null && this.headerAll != null) {
                this.headerLeft = new RtfHeaderFooter(this.document, this.headerAll, RtfHeaderFooter.DISPLAY_LEFT_PAGES);
                this.headerLeft.setType(this.type);
            }
            if(this.headerRight == null && this.headerAll != null) {
                this.headerRight = new RtfHeaderFooter(this.document, this.headerAll, RtfHeaderFooter.DISPLAY_RIGHT_PAGES);
                this.headerRight.setType(this.type);
            }
            this.headerAll = null;
        }
    }
    
    /**
     * Get whether this RtfHeaderFooterGroup has a titlepage
     * 
     * @return Whether this RtfHeaderFooterGroup has a titlepage
     */
    public boolean hasTitlePage() {
        return (headerFirst != null);
    }
    
    /**
     * Get whether this RtfHeaderFooterGroup has facing pages
     * 
     * @return Whether this RtfHeaderFooterGroup has facing pages
     */
    public boolean hasFacingPages() {
        return (headerLeft != null || headerRight != null);
    }

    /**
     * Unused
     * @param inTable
     */
    public void setInTable(boolean inTable) {
    }
    
    /**
     * Unused
     * @param inHeader
     */
    public void setInHeader(boolean inHeader) {
    }
    
    /**
     * Set the type of this RtfHeaderFooterGroup. RtfHeaderFooter.TYPE_HEADER
     * or RtfHeaderFooter.TYPE_FOOTER. Also sets the type for all RtfHeaderFooters
     * of this RtfHeaderFooterGroup.
     * 
     * @param type The type to use
     */
    public void setType(int type) {
        this.type = type;
        if(headerAll != null) {
            headerAll.setType(this.type);
        }
        if(headerFirst != null) {
            headerFirst.setType(this.type);
        }
        if(headerLeft != null) {
            headerLeft.setType(this.type);
        }
        if(headerRight != null) {
            headerRight.setType(this.type);
        }
    }
    
    /**
     * Gets the mode of this RtfHeaderFooterGroup
     * 
     * @return The mode of this RtfHeaderFooterGroup
     */
    protected int getMode() {
        return this.mode;
    }
    
    /**
     * Gets the RtfHeaderFooter for all pages
     * 
     * @return The RtfHeaderFooter for all pages 
     */
    protected RtfHeaderFooter getHeaderAll() {
        return headerAll;
    }

    /**
     * Gets the RtfHeaderFooter for the title page
     * 
     * @return The RtfHeaderFooter for the title page 
     */
    protected RtfHeaderFooter getHeaderFirst() {
        return headerFirst;
    }

    /**
     * Gets the RtfHeaderFooter for all left hand pages
     * 
     * @return The RtfHeaderFooter for all left hand pages 
     */
    protected RtfHeaderFooter getHeaderLeft() {
        return headerLeft;
    }

    /**
     * Gets the RtfHeaderFooter for all right hand pages
     * 
     * @return The RtfHeaderFooter for all right hand pages 
     */
    protected RtfHeaderFooter getHeaderRight() {
        return headerRight;
    }
}

⌨️ 快捷键说明

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