com.lowagie.text.rtf.document
Class RtfPageSetting

java.lang.Object
  extended by com.lowagie.text.rtf.RtfElement
      extended by com.lowagie.text.rtf.document.RtfPageSetting
All Implemented Interfaces:
RtfBasicElement, RtfExtendedElement, RtfElementInterface

public class RtfPageSetting
extends RtfElement
implements RtfExtendedElement

The RtfPageSetting stores the page size / page margins for a RtfDocument. INTERNAL CLASS - NOT TO BE USED DIRECTLY

Version:
$Id:RtfPageSetting.java 3126 2008-02-07 20:30:46Z hallm $
Author:
Mark Hall (Mark.Hall@mail.room3b.eu), Thomas Bickel (tmb99@inode.at)

Field Summary
private  boolean landscape
          Whether the page is portrait or landscape
private static byte[] LANDSCAPE
          Constant for landscape
private static byte[] MARGIN_BOTTOM
          Constant for the bottom margin
private static byte[] MARGIN_LEFT
          Constant for the left margin
private static byte[] MARGIN_RIGHT
          Constant for the right margin
private static byte[] MARGIN_TOP
          Constant for the top margin
private  int marginBottom
          The bottom margin to use
private  int marginLeft
          The left margin to use
private  int marginRight
          The right margin to use
private  int marginTop
          The top margin to use
private static byte[] PAGE_HEIGHT
          Constant for the page width
private static byte[] PAGE_WIDTH
          Constant for the page height
private  int pageHeight
          The page height to use
private  int pageWidth
          The page width to use
private static byte[] SECTION_MARGIN_BOTTOM
          Constant for the section bottom margin
private static byte[] SECTION_MARGIN_LEFT
          Constant for the section left margin
private static byte[] SECTION_MARGIN_RIGHT
          Constant for the section right margin
private static byte[] SECTION_MARGIN_TOP
          Constant for the section top margin
private static byte[] SECTION_PAGE_HEIGHT
          Constant for the section page height
private static byte[] SECTION_PAGE_WIDTH
          Constant for the section page width
 
Fields inherited from class com.lowagie.text.rtf.RtfElement
document, inHeader, inTable
 
Fields inherited from interface com.lowagie.text.rtf.RtfBasicElement
CLOSE_GROUP, COMMA_DELIMITER, DELIMITER, OPEN_GROUP, TWIPS_FACTOR
 
Constructor Summary
RtfPageSetting(RtfDocument doc)
          Constructs a new RtfPageSetting object belonging to a RtfDocument.
 
Method Summary
 int getMarginBottom()
          Gets the bottom margin
 int getMarginLeft()
          Gets the left margin
 int getMarginRight()
          Gets the right margin
 int getMarginTop()
          Gets the top margin
 int getPageHeight()
          Gets the page height
 int getPageWidth()
          Gets the page width
private  boolean guessFormat(Rectangle pageSize, boolean rotate)
          This method tries to fit the Rectangle pageSize to one of the predefined PageSize rectangles.
private  boolean rectEquals(Rectangle rect1, Rectangle rect2)
          This method compares to Rectangles.
 void setMarginBottom(int marginBottom)
          Sets the bottom margin
 void setMarginLeft(int marginLeft)
          Sets the left margin to use
 void setMarginRight(int marginRight)
          Sets the right margin to use
 void setMarginTop(int marginTop)
          Sets the top margin to use
 void setPageHeight(int pageHeight)
          Sets the page height to use
 void setPageSize(Rectangle pageSize)
          Set the page size to use.
 void setPageWidth(int pageWidth)
          Sets the page width to use
 void writeContent(OutputStream out)
          unused
 void writeDefinition(OutputStream result)
          Writes the page size / page margin definition
 void writeSectionDefinition(OutputStream result)
          Writes the definition part for a new section
 
Methods inherited from class com.lowagie.text.rtf.RtfElement
intToByteArray, isInTable, setInHeader, setInTable, setRtfDocument
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.lowagie.text.rtf.RtfBasicElement
setInHeader, setInTable, setRtfDocument
 

Field Detail

PAGE_WIDTH

private static final byte[] PAGE_WIDTH
Constant for the page height


PAGE_HEIGHT

private static final byte[] PAGE_HEIGHT
Constant for the page width


MARGIN_LEFT

private static final byte[] MARGIN_LEFT
Constant for the left margin


MARGIN_RIGHT

private static final byte[] MARGIN_RIGHT
Constant for the right margin


MARGIN_TOP

private static final byte[] MARGIN_TOP
Constant for the top margin


MARGIN_BOTTOM

private static final byte[] MARGIN_BOTTOM
Constant for the bottom margin


LANDSCAPE

private static final byte[] LANDSCAPE
Constant for landscape


SECTION_PAGE_WIDTH

private static final byte[] SECTION_PAGE_WIDTH
Constant for the section page width


SECTION_PAGE_HEIGHT

private static final byte[] SECTION_PAGE_HEIGHT
Constant for the section page height


SECTION_MARGIN_LEFT

private static final byte[] SECTION_MARGIN_LEFT
Constant for the section left margin


SECTION_MARGIN_RIGHT

private static final byte[] SECTION_MARGIN_RIGHT
Constant for the section right margin


SECTION_MARGIN_TOP

private static final byte[] SECTION_MARGIN_TOP
Constant for the section top margin


SECTION_MARGIN_BOTTOM

private static final byte[] SECTION_MARGIN_BOTTOM
Constant for the section bottom margin


pageWidth

private int pageWidth
The page width to use


pageHeight

private int pageHeight
The page height to use


marginLeft

private int marginLeft
The left margin to use


marginRight

private int marginRight
The right margin to use


marginTop

private int marginTop
The top margin to use


marginBottom

private int marginBottom
The bottom margin to use


landscape

private boolean landscape
Whether the page is portrait or landscape

Constructor Detail

RtfPageSetting

public RtfPageSetting(RtfDocument doc)
Constructs a new RtfPageSetting object belonging to a RtfDocument.

Parameters:
doc - The RtfDocument this RtfPageSetting belongs to
Method Detail

writeContent

public void writeContent(OutputStream out)
                  throws IOException
unused

Specified by:
writeContent in interface RtfBasicElement
Specified by:
writeContent in class RtfElement
Parameters:
out - The OutputStream to write the content to
Throws:
IOException

writeDefinition

public void writeDefinition(OutputStream result)
                     throws IOException
Writes the page size / page margin definition

Specified by:
writeDefinition in interface RtfExtendedElement
Parameters:
result - The OutputStream to write the element definition to
Throws:
IOException

writeSectionDefinition

public void writeSectionDefinition(OutputStream result)
                            throws IOException
Writes the definition part for a new section

Throws:
IOException

getMarginBottom

public int getMarginBottom()
Gets the bottom margin

Returns:
Returns the bottom margin

setMarginBottom

public void setMarginBottom(int marginBottom)
Sets the bottom margin

Parameters:
marginBottom - The bottom margin to use

getMarginLeft

public int getMarginLeft()
Gets the left margin

Returns:
Returns the left margin

setMarginLeft

public void setMarginLeft(int marginLeft)
Sets the left margin to use

Parameters:
marginLeft - The left margin to use

getMarginRight

public int getMarginRight()
Gets the right margin

Returns:
Returns the right margin

setMarginRight

public void setMarginRight(int marginRight)
Sets the right margin to use

Parameters:
marginRight - The right margin to use

getMarginTop

public int getMarginTop()
Gets the top margin

Returns:
Returns the top margin

setMarginTop

public void setMarginTop(int marginTop)
Sets the top margin to use

Parameters:
marginTop - The top margin to use

getPageHeight

public int getPageHeight()
Gets the page height

Returns:
Returns the page height

setPageHeight

public void setPageHeight(int pageHeight)
Sets the page height to use

Parameters:
pageHeight - The page height to use

getPageWidth

public int getPageWidth()
Gets the page width

Returns:
Returns the page width

setPageWidth

public void setPageWidth(int pageWidth)
Sets the page width to use

Parameters:
pageWidth - The page width to use

setPageSize

public void setPageSize(Rectangle pageSize)
Set the page size to use. This method will use guessFormat to try to guess the correct page format. If no format could be guessed, the sizes from the pageSize are used and the landscape setting is determined by comparing width and height;

Parameters:
pageSize - The pageSize to use

guessFormat

private boolean guessFormat(Rectangle pageSize,
                            boolean rotate)
This method tries to fit the Rectangle pageSize to one of the predefined PageSize rectangles. If a match is found the pageWidth and pageHeight will be set according to values determined from files generated by MS Word2000 and OpenOffice 641. If no match is found the method will try to match the rotated Rectangle by calling itself with the parameter rotate set to true.

Parameters:
pageSize - the page size for which to guess the correct format
rotate - Whether we should try to rotate the size befor guessing the format
Returns:
True if the format was guessed, false/ otherwise

rectEquals

private boolean rectEquals(Rectangle rect1,
                           Rectangle rect2)
This method compares to Rectangles. They are considered equal if width and height are the same

Parameters:
rect1 - The first Rectangle to compare
rect2 - The second Rectangle to compare
Returns:
True if the Rectangles equal, false otherwise

Hosted by Hostbasket