Class PDPage

java.lang.Object
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 Details

    • 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 Details

    • 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 Details

    • 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.
    • getStructParents

      public int getStructParents()
      This will get the key of this Page in the structural parent tree.
      Returns:
      the integer key of the page's entry in the structural parent tree
    • setStructParents

      public void setStructParents(int structParents)
      This will set the key for this page in the structural parent tree.
      Parameters:
      structParents - The new key 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 in degrees.
    • 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<PDThreadBead> getThreadBeads()
      This will get a list of PDThreadBead objects, which are article threads in the document. This will return an empty list if there are no thread beads.
      Returns:
      A list of article threads on this page, never null. The returned list is backed by the beads COSArray, so any adding or deleting in this list will change the document too.
    • 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<PDAnnotation> getAnnotations() throws IOException
      This will return a list of the annotations for this page.
      Returns:
      List of the PDAnnotation objects, never null. The returned list is backed by the annotations COSArray, so any adding or deleting in this list will change the document too.
      Throws:
      IOException - If there is an error while creating the annotation list.
    • 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
    • clear

      public void clear()
      Calling this will release all cached information.