org.apache.pdfbox.pdmodel
Class PDPage

java.lang.Object
  extended by org.apache.pdfbox.pdmodel.PDPage
All Implemented Interfaces:
Printable, COSObjectable

public class PDPage
extends Object
implements COSObjectable, Printable

This represents a single page in a PDF document.

This class implements the Printable interface, but since PDFBox version 1.3.0 you should be using the PDPageable adapter instead (see PDFBOX-788).

Version:
$Revision: 1.29 $
Author:
Ben Litchfield

Field Summary
static PDRectangle PAGE_SIZE_A0
          A page size of A0 Paper.
static PDRectangle PAGE_SIZE_A1
          A page size of A1 Paper.
static PDRectangle PAGE_SIZE_A2
          A page size of A2 Paper.
static PDRectangle PAGE_SIZE_A3
          A page size of A3 Paper.
static PDRectangle PAGE_SIZE_A4
          A page size of A4 Paper.
static PDRectangle PAGE_SIZE_A5
          A page size of A5 Paper.
static PDRectangle PAGE_SIZE_A6
          A page size of A6 Paper.
static PDRectangle PAGE_SIZE_LETTER
          A page size of LETTER or 8.5x11.
 
Fields inherited from interface java.awt.print.Printable
NO_SUCH_PAGE, PAGE_EXISTS
 
Constructor Summary
PDPage()
          Creates a new instance of PDPage with a size of 8.5x11.
PDPage(COSDictionary pageDic)
          Creates a new instance of PDPage.
PDPage(PDRectangle size)
          Creates a new instance of PDPage.
 
Method Summary
 BufferedImage convertToImage()
          Convert this page to an output image with 8 bits per pixel and the double default screen resolution.
 BufferedImage convertToImage(int imageType, int resolution)
          Convert this page to an output image.
 boolean equals(Object other)
          
 PDRectangle findCropBox()
          This will find the CropBox for this page by looking up the hierarchy until it finds them.
 PDRectangle findMediaBox()
          This will find the MediaBox for this page by looking up the hierarchy until it finds them.
 PDResources findResources()
          This will find the resources for this page by looking up the hierarchy until it finds them.
 int findRotation()
          This will find the rotation for this page by looking up the hierarchy until it finds them.
 PDPageAdditionalActions getActions()
          Get the page actions.
 List getAnnotations()
          This will return a list of the Annotations for this page.
 PDRectangle getArtBox()
          A rectangle, expressed in default user space units, defining the extent of the page's meaningful content (including potential white space) as intended by the page's creator The default isthe CropBox.
 PDRectangle getBleedBox()
          A rectangle, expressed in default user space units, defining the region to which the contents of the page should be clipped when output in a production environment.
 PDStream getContents()
          This will get the contents of the PDF Page, in the case that the contents of the page is an array then then the entire array of streams will be be wrapped and appear as a single stream.
 COSDictionary getCOSDictionary()
          This will get the underlying dictionary that this class acts on.
 COSBase getCOSObject()
          Convert this standard java object to a COS object.
 PDRectangle getCropBox()
          A rectangle, expressed in default user space units, defining the visible region of default user space.
 Calendar getLastModified()
          This will get the date that the content stream was last modified.
 PDRectangle getMediaBox()
          A rectangle, expressed in default user space units, defining the boundaries of the physical medium on which the page is intended to be displayed or printed This will get the MediaBox at this page and not look up the hierarchy.
 PDMetadata getMetadata()
          Get the metadata that is part of the document catalog.
 PDPageNode getParent()
          This is the parent page node.
 PDResources getResources()
          This will get the resources at this page and not look up the hierarchy.
 Integer getRotation()
          A value representing the rotation.
 List getThreadBeads()
          This will get a list of PDThreadBead objects, which are article threads in the document.
 PDRectangle getTrimBox()
          A rectangle, expressed in default user space units, defining the intended dimensions of the finished page after trimming.
 int hashCode()
          
 int print(Graphics graphics, PageFormat pageFormat, int pageIndex)
          Deprecated. Use the PDPageable adapter class
 void setActions(PDPageAdditionalActions actions)
          Set the page actions.
 void setAnnotations(List<PDAnnotation> annots)
          This will set the list of annotations.
 void setArtBox(PDRectangle artBox)
          This will set the ArtBox for this page.
 void setBleedBox(PDRectangle bleedBox)
          This will set the BleedBox for this page.
 void setContents(PDStream contents)
          This will set the contents of this page.
 void setCropBox(PDRectangle cropBox)
          This will set the CropBox for this page.
 void setMediaBox(PDRectangle mediaBoxValue)
          This will set the mediaBox for this page.
 void setMetadata(PDMetadata meta)
          Set the metadata for this object.
 void setParent(PDPageNode parentNode)
          This will set the parent of this page.
 void setResources(PDResources resources)
          This will set the resources for this page.
 void setRotation(int rotation)
          This will set the rotation for this page.
 void setThreadBeads(List<PDThreadBead> beads)
          This will set the list of thread beads.
 void setTrimBox(PDRectangle trimBox)
          This will set the TrimBox for this page.
 void updateLastModified()
          This will update the last modified time for the page object.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PAGE_SIZE_LETTER

public static final PDRectangle PAGE_SIZE_LETTER
A page size of LETTER or 8.5x11.


PAGE_SIZE_A0

public static final PDRectangle PAGE_SIZE_A0
A page size of A0 Paper.


PAGE_SIZE_A1

public static final PDRectangle PAGE_SIZE_A1
A page size of A1 Paper.


PAGE_SIZE_A2

public static final PDRectangle PAGE_SIZE_A2
A page size of A2 Paper.


PAGE_SIZE_A3

public static final PDRectangle PAGE_SIZE_A3
A page size of A3 Paper.


PAGE_SIZE_A4

public static final PDRectangle PAGE_SIZE_A4
A page size of A4 Paper.


PAGE_SIZE_A5

public static final PDRectangle PAGE_SIZE_A5
A page size of A5 Paper.


PAGE_SIZE_A6

public static final PDRectangle PAGE_SIZE_A6
A page size of A6 Paper.

Constructor Detail

PDPage

public PDPage()
Creates a new instance of PDPage with a size of 8.5x11.


PDPage

public PDPage(PDRectangle size)
Creates a new instance of PDPage.

Parameters:
size - The MediaBox or the page.

PDPage

public PDPage(COSDictionary pageDic)
Creates a new instance of PDPage.

Parameters:
pageDic - The existing page dictionary.
Method Detail

getCOSObject

public COSBase getCOSObject()
Convert this standard java object to a COS object.

Specified by:
getCOSObject in interface COSObjectable
Returns:
The cos object that matches this Java object.

getCOSDictionary

public COSDictionary getCOSDictionary()
This will get the underlying dictionary that this class acts on.

Returns:
The underlying dictionary for this class.

getParent

public PDPageNode getParent()
This is the parent page node. The parent is a required element of the page. This will be null until this page is added to the document.

Returns:
The parent to this page.

setParent

public void setParent(PDPageNode parentNode)
This will set the parent of this page.

Parameters:
parentNode - The parent to this page node.

updateLastModified

public void updateLastModified()
This will update the last modified time for the page object.


getLastModified

public Calendar getLastModified()
                         throws IOException
This will get the date that the content stream was last modified. This may return null.

Returns:
The date the content stream was last modified.
Throws:
IOException - If there is an error accessing the date information.

getResources

public PDResources getResources()
This will get the resources at this page and not look up the hierarchy. This attribute is inheritable, and findResources() should probably used. This will return null if no resources are available at this level.

Returns:
The resources at this level in the hierarchy.

findResources

public PDResources findResources()
This will find the resources for this page by looking up the hierarchy until it finds them.

Returns:
The resources at this level in the hierarchy.

setResources

public void setResources(PDResources resources)
This will set the resources for this page.

Parameters:
resources - The new resources for this page.

getMediaBox

public PDRectangle getMediaBox()
A rectangle, expressed in default user space units, defining the boundaries of the physical medium on which the page is intended to be displayed or printed This will get the MediaBox at this page and not look up the hierarchy. This attribute is inheritable, and findMediaBox() should probably used. This will return null if no MediaBox are available at this level.

Returns:
The MediaBox at this level in the hierarchy.

findMediaBox

public PDRectangle findMediaBox()
This will find the MediaBox for this page by looking up the hierarchy until it finds them.

Returns:
The MediaBox at this level in the hierarchy.

setMediaBox

public void setMediaBox(PDRectangle mediaBoxValue)
This will set the mediaBox for this page.

Parameters:
mediaBoxValue - The new mediaBox for this page.

getCropBox

public PDRectangle getCropBox()
A rectangle, expressed in default user space units, defining the visible region of default user space. When the page is displayed or printed, its contents are to be clipped (cropped) to this rectangle and then imposed on the output medium in some implementationdefined manner This will get the CropBox at this page and not look up the hierarchy. This attribute is inheritable, and findCropBox() should probably used. This will return null if no CropBox is available at this level.

Returns:
The CropBox at this level in the hierarchy.

findCropBox

public PDRectangle findCropBox()
This will find the CropBox for this page by looking up the hierarchy until it finds them.

Returns:
The CropBox at this level in the hierarchy.

setCropBox

public void setCropBox(PDRectangle cropBox)
This will set the CropBox for this page.

Parameters:
cropBox - The new CropBox for this page.

getBleedBox

public PDRectangle getBleedBox()
A rectangle, expressed in default user space units, defining the region to which the contents of the page should be clipped when output in a production environment. The default is the CropBox.

Returns:
The BleedBox attribute.

setBleedBox

public void setBleedBox(PDRectangle bleedBox)
This will set the BleedBox for this page.

Parameters:
bleedBox - The new BleedBox for this page.

getTrimBox

public PDRectangle getTrimBox()
A rectangle, expressed in default user space units, defining the intended dimensions of the finished page after trimming. The default is the CropBox.

Returns:
The TrimBox attribute.

setTrimBox

public void setTrimBox(PDRectangle trimBox)
This will set the TrimBox for this page.

Parameters:
trimBox - The new TrimBox for this page.

getArtBox

public PDRectangle getArtBox()
A rectangle, expressed in default user space units, defining the extent of the page's meaningful content (including potential white space) as intended by the page's creator The default isthe CropBox.

Returns:
The ArtBox attribute.

setArtBox

public void setArtBox(PDRectangle artBox)
This will set the ArtBox for this page.

Parameters:
artBox - The new ArtBox for this page.

getRotation

public Integer getRotation()
A value representing the rotation. This will be null if not set at this level The number of degrees by which the page should be rotated clockwise when displayed or printed. The value must be a multiple of 90. This will get the rotation at this page and not look up the hierarchy. This attribute is inheritable, and findRotation() should probably used. This will return null if no rotation is available at this level.

Returns:
The rotation at this level in the hierarchy.

findRotation

public int findRotation()
This will find the rotation for this page by looking up the hierarchy until it finds them.

Returns:
The rotation at this level in the hierarchy.

setRotation

public void setRotation(int rotation)
This will set the rotation for this page.

Parameters:
rotation - The new rotation for this page.

getContents

public PDStream getContents()
                     throws IOException
This will get the contents of the PDF Page, in the case that the contents of the page is an array then then the entire array of streams will be be wrapped and appear as a single stream.

Returns:
The page content stream.
Throws:
IOException - If there is an error obtaining the stream.

setContents

public void setContents(PDStream contents)
This will set the contents of this page.

Parameters:
contents - The new contents of the page.

getThreadBeads

public List getThreadBeads()
This will get a list of PDThreadBead objects, which are article threads in the document. This will return an empty list of there are no thread beads.

Returns:
A list of article threads on this page.

setThreadBeads

public void setThreadBeads(List<PDThreadBead> beads)
This will set the list of thread beads.

Parameters:
beads - A list of PDThreadBead objects or null.

getMetadata

public PDMetadata getMetadata()
Get the metadata that is part of the document catalog. This will return null if there is no meta data for this object.

Returns:
The metadata for this object.

setMetadata

public void setMetadata(PDMetadata meta)
Set the metadata for this object. This can be null.

Parameters:
meta - The meta data for this object.

convertToImage

public BufferedImage convertToImage()
                             throws IOException
Convert this page to an output image with 8 bits per pixel and the double default screen resolution.

Returns:
A graphical representation of this page.
Throws:
IOException - If there is an error drawing to the image.

convertToImage

public BufferedImage convertToImage(int imageType,
                                    int resolution)
                             throws IOException
Convert this page to an output image.

Parameters:
imageType - the image type (see BufferedImage.TYPE_*)
resolution - the resolution in dpi (dots per inch)
Returns:
A graphical representation of this page.
Throws:
IOException - If there is an error drawing to the image.

getActions

public PDPageAdditionalActions getActions()
Get the page actions.

Returns:
The Actions for this Page

setActions

public void setActions(PDPageAdditionalActions actions)
Set the page actions.

Parameters:
actions - The actions for the page.

getAnnotations

public List getAnnotations()
                    throws IOException
This will return a list of the Annotations for this page.

Returns:
List of the PDAnnotation objects.
Throws:
IOException - If there is an error while creating the annotations.

setAnnotations

public void setAnnotations(List<PDAnnotation> annots)
This will set the list of annotations.

Parameters:
annots - The new list of annotations.

print

public int print(Graphics graphics,
                 PageFormat pageFormat,
                 int pageIndex)
          throws PrinterException
Deprecated. Use the PDPageable adapter class

Specified by:
print in interface Printable
Throws:
PrinterException

equals

public boolean equals(Object other)

Overrides:
equals in class Object

hashCode

public int hashCode()

Overrides:
hashCode in class Object


Copyright © 2002-2012 The Apache Software Foundation. All Rights Reserved.