poi/src/java/org/apache/poi/hssf/usermodel/HSSFPrintSetup.java

398 lines
11 KiB
Java

/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache POI" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* "Apache POI", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
package org.apache.poi.hssf.usermodel;
import org.apache.poi.hssf.record.PrintSetupRecord;
/**
* Used to modify the print setup.
* <P>
* Paper size constants have been added for the ones I have access
* to. They follow as:<br>
* public final short LETTER_PAPERSIZE = 1;<br>
* public final short LEGAL_PAPERSIZE = 5;<br>
* public final short EXECUTIVE_PAPERSIZE = 7;<br>
* public final short A4_PAPERSIZE = 9;<br>
* public final short A5_PAPERSIZE = 11;<br>
* public final short ENVELOPE_10_PAPERSIZE = 20;<br>
* public final short ENVELOPE_DL_PAPERSIZE = 27;<br>
* public final short ENVELOPE_CS_PAPERSIZE = 28;<br>
* public final short ENVELOPE_MONARCH_PAPERSIZE = 37;<br>
* <P>
* @author Shawn Laubach (slaubach at apache dot org)
*/
public class HSSFPrintSetup extends Object {
public final short LETTER_PAPERSIZE = 1;
public final short LEGAL_PAPERSIZE = 5;
public final short EXECUTIVE_PAPERSIZE = 7;
public final short A4_PAPERSIZE = 9;
public final short A5_PAPERSIZE = 11;
public final short ENVELOPE_10_PAPERSIZE = 20;
public final short ENVELOPE_DL_PAPERSIZE = 27;
public final short ENVELOPE_CS_PAPERSIZE = 28;
public final short ENVELOPE_MONARCH_PAPERSIZE = 37;
PrintSetupRecord printSetupRecord;
/**
* Constructor. Takes the low level print setup record.
* @param printSetupRecord the low level print setup record
*/
protected HSSFPrintSetup (PrintSetupRecord printSetupRecord)
{
this.printSetupRecord = printSetupRecord;
}
/**
* Set the paper size.
* @param size the paper size.
*/
public void setPaperSize (short size)
{
printSetupRecord.setPaperSize (size);
}
/**
* Set the scale.
* @param scale the scale to use
*/
public void setScale (short scale)
{
printSetupRecord.setScale (scale);
}
/**
* Set the page numbering start.
* @param start the page numbering start
*/
public void setPageStart (short start)
{
printSetupRecord.setPageStart (start);
}
/**
* Set the number of pages wide to fit the sheet in
* @param width the number of pages
*/
public void setFitWidth (short width)
{
printSetupRecord.setFitWidth (width);
}
/**
* Set the number of pages high to fit the sheet in
* @param height the number of pages
*/
public void setFitHeight (short height)
{
printSetupRecord.setFitHeight (height);
}
/**
* Sets the options flags. Not advisable to do it directly.
* @param options The bit flags for the options
*/
public void setOptions (short options)
{
printSetupRecord.setOptions (options);
}
/**
* Set whether to go left to right or top down in ordering
* @param ltor left to right
*/
public void setLeftToRight (boolean ltor)
{
printSetupRecord.setLeftToRight (ltor);
}
/**
* Set whether to print in landscape
* @param ls landscape
*/
public void setLandscape (boolean ls)
{
printSetupRecord.setLandscape (!ls);
}
/**
* Valid settings. I'm not for sure.
* @param valid Valid
*/
public void setValidSettings (boolean valid)
{
printSetupRecord.setValidSettings (valid);
}
/**
* Set whether it is black and white
* @param mono Black and white
*/
public void setNoColor (boolean mono)
{
printSetupRecord.setNoColor (mono);
}
/**
* Set whether it is in draft mode
* @param d draft
*/
public void setDraft (boolean d)
{
printSetupRecord.setDraft (d);
}
/**
* Print the include notes
* @param printnotes print the notes
*/
public void setNotes (boolean printnotes)
{
printSetupRecord.setNotes (printnotes);
}
/**
* Set no orientation. ?
* @param orientation Orientation.
*/
public void setNoOrientation (boolean orientation)
{
printSetupRecord.setNoOrientation (orientation);
}
/**
* Set whether to use page start
* @param page Use page start
*/
public void setUsePage (boolean page)
{
printSetupRecord.setUsePage (page);
}
/**
* Sets the horizontal resolution.
* @param resolution horizontal resolution
*/
public void setHResolution (short resolution)
{
printSetupRecord.setHResolution (resolution);
}
/**
* Sets the vertical resolution.
* @param resolution vertical resolution
*/
public void setVResolution (short resolution)
{
printSetupRecord.setVResolution (resolution);
}
/**
* Sets the header margin.
* @param headermargin header margin
*/
public void setHeaderMargin (double headermargin)
{
printSetupRecord.setHeaderMargin (headermargin);
}
/**
* Sets the footer margin.
* @param footermargin footer margin
*/
public void setFooterMargin (double footermargin)
{
printSetupRecord.setFooterMargin (footermargin);
}
/**
* Sets the number of copies.
* @param copies number of copies
*/
public void setCopies (short copies)
{
printSetupRecord.setCopies (copies);
}
/**
* Returns the paper size.
* @return paper size
*/
public short getPaperSize ()
{
return printSetupRecord.getPaperSize ();
}
/**
* Returns the scale.
* @return scale
*/
public short getScale ()
{
return printSetupRecord.getScale ();
}
/**
* Returns the page start.
* @return page start
*/
public short getPageStart ()
{
return printSetupRecord.getPageStart ();
}
/**
* Returns the number of pages wide to fit sheet in.
* @return number of pages wide to fit sheet in
*/
public short getFitWidth ()
{
return printSetupRecord.getFitWidth ();
}
/**
* Returns the number of pages high to fit the sheet in.
* @return number of pages high to fit the sheet in
*/
public short getFitHeight ()
{
return printSetupRecord.getFitHeight ();
}
/**
* Returns the bit flags for the options.
* @return bit flags for the options
*/
public short getOptions ()
{
return printSetupRecord.getOptions ();
}
/**
* Returns the left to right print order.
* @return left to right print order
*/
public boolean getLeftToRight ()
{
return printSetupRecord.getLeftToRight ();
}
/**
* Returns the landscape mode.
* @return landscape mode
*/
public boolean getLandscape ()
{
return !printSetupRecord.getLandscape ();
}
/**
* Returns the valid settings.
* @return valid settings
*/
public boolean getValidSettings ()
{
return printSetupRecord.getValidSettings ();
}
/**
* Returns the black and white setting.
* @return black and white setting
*/
public boolean getNoColor ()
{
return printSetupRecord.getNoColor ();
}
/**
* Returns the draft mode.
* @return draft mode
*/
public boolean getDraft ()
{
return printSetupRecord.getDraft ();
}
/**
* Returns the print notes.
* @return print notes
*/
public boolean getNotes ()
{
return printSetupRecord.getNotes ();
}
/**
* Returns the no orientation.
* @return no orientation
*/
public boolean getNoOrientation ()
{
return printSetupRecord.getNoOrientation ();
}
/**
* Returns the use page numbers.
* @return use page numbers
*/
public boolean getUsePage ()
{
return printSetupRecord.getUsePage ();
}
/**
* Returns the horizontal resolution.
* @return horizontal resolution
*/
public short getHResolution ()
{
return printSetupRecord.getHResolution ();
}
/**
* Returns the vertical resolution.
* @return vertical resolution
*/
public short getVResolution ()
{
return printSetupRecord.getVResolution ();
}
/**
* Returns the header margin.
* @return header margin
*/
public double getHeaderMargin ()
{
return printSetupRecord.getHeaderMargin ();
}
/**
* Returns the footer margin.
* @return footer margin
*/
public double getFooterMargin ()
{
return printSetupRecord.getFooterMargin ();
}
/**
* Returns the number of copies.
* @return number of copies
*/
public short getCopies ()
{
return printSetupRecord.getCopies ();
}
}