Class PDRectangle

java.lang.Object
org.apache.pdfbox.pdmodel.common.PDRectangle
All Implemented Interfaces:
COSObjectable

public class PDRectangle extends Object implements COSObjectable
A rectangle in a PDF document.
Author:
Ben Litchfield
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final PDRectangle
    A rectangle the size of A0 Paper.
    static final PDRectangle
    A rectangle the size of A1 Paper.
    static final PDRectangle
    A rectangle the size of A2 Paper.
    static final PDRectangle
    A rectangle the size of A3 Paper.
    static final PDRectangle
    A rectangle the size of A4 Paper.
    static final PDRectangle
    A rectangle the size of A5 Paper.
    static final PDRectangle
    A rectangle the size of A6 Paper.
    static final PDRectangle
    A rectangle the size of U.S.
    static final PDRectangle
    A rectangle the size of U.S.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor.
    PDRectangle(float width, float height)
    Constructor.
    PDRectangle(float x, float y, float width, float height)
    Constructor.
    PDRectangle(org.apache.fontbox.util.BoundingBox box)
    Constructor.
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    contains(float x, float y)
    Method to determine if the x/y point is inside this rectangle.
    This will create a translated rectangle based off of this rectangle, such that the new rectangle retains the same dimensions(height/width), but the lower left x,y values are zero.
    This will get the underlying array for this rectangle.
    Convert this standard java object to a COS object.
    float
    This will get the height of this rectangle as calculated by upperRightY - lowerLeftY.
    float
    This will get the lower left x coordinate.
    float
    This will get the lower left y coordinate.
    float
    This will get the upper right x coordinate.
    float
    This will get the upper right y coordinate.
    float
    This will get the width of this rectangle as calculated by upperRightX - lowerLeftX.
    void
    setLowerLeftX(float value)
    This will set the lower left x coordinate.
    void
    setLowerLeftY(float value)
    This will set the lower left y coordinate.
    void
    setUpperRightX(float value)
    This will set the upper right x coordinate.
    void
    setUpperRightY(float value)
    This will set the upper right y coordinate.
    Returns a general path equivalent to this rectangle.
    This will return a string representation of this rectangle.
    transform(Matrix matrix)
    Returns a path which represents this rectangle having been transformed by the given matrix.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • LETTER

      public static final PDRectangle LETTER
      A rectangle the size of U.S. Letter, 8.5" x 11".
    • A0

      public static final PDRectangle A0
      A rectangle the size of A0 Paper.
    • A1

      public static final PDRectangle A1
      A rectangle the size of A1 Paper.
    • A2

      public static final PDRectangle A2
      A rectangle the size of A2 Paper.
    • A3

      public static final PDRectangle A3
      A rectangle the size of A3 Paper.
    • A4

      public static final PDRectangle A4
      A rectangle the size of A4 Paper.
    • A5

      public static final PDRectangle A5
      A rectangle the size of A5 Paper.
    • A6

      public static final PDRectangle A6
      A rectangle the size of A6 Paper.
  • Constructor Details

    • PDRectangle

      public PDRectangle()
      Constructor. Initializes to 0,0,0,0
    • PDRectangle

      public PDRectangle(float width, float height)
      Constructor.
      Parameters:
      width - The width of the rectangle.
      height - The height of the rectangle.
    • PDRectangle

      public PDRectangle(float x, float y, float width, float height)
      Constructor.
      Parameters:
      x - the x coordinate of the rectangle
      y - the y coordinate of the rectangle
      width - The width of the rectangle.
      height - The height of the rectangle.
    • PDRectangle

      public PDRectangle(org.apache.fontbox.util.BoundingBox box)
      Constructor.
      Parameters:
      box - the bounding box to be used for the rectangle
    • PDRectangle

      public PDRectangle(COSArray array)
      Constructor.
      Parameters:
      array - An array of numbers as specified in the PDF Reference for a rectangle type.
  • Method Details

    • contains

      public boolean contains(float x, float y)
      Method to determine if the x/y point is inside this rectangle.
      Parameters:
      x - The x-coordinate to test.
      y - The y-coordinate to test.
      Returns:
      True if the point is inside this rectangle.
    • createRetranslatedRectangle

      public PDRectangle createRetranslatedRectangle()
      This will create a translated rectangle based off of this rectangle, such that the new rectangle retains the same dimensions(height/width), but the lower left x,y values are zero.
      100, 100, 400, 400 (llx, lly, urx, ury )
      will be translated to 0,0,300,300
      Returns:
      A new rectangle that has been translated back to the origin.
    • getCOSArray

      public COSArray getCOSArray()
      This will get the underlying array for this rectangle.
      Returns:
      The cos array.
    • getLowerLeftX

      public float getLowerLeftX()
      This will get the lower left x coordinate.
      Returns:
      The lower left x.
    • setLowerLeftX

      public void setLowerLeftX(float value)
      This will set the lower left x coordinate.
      Parameters:
      value - The lower left x.
    • getLowerLeftY

      public float getLowerLeftY()
      This will get the lower left y coordinate.
      Returns:
      The lower left y.
    • setLowerLeftY

      public void setLowerLeftY(float value)
      This will set the lower left y coordinate.
      Parameters:
      value - The lower left y.
    • getUpperRightX

      public float getUpperRightX()
      This will get the upper right x coordinate.
      Returns:
      The upper right x .
    • setUpperRightX

      public void setUpperRightX(float value)
      This will set the upper right x coordinate.
      Parameters:
      value - The upper right x .
    • getUpperRightY

      public float getUpperRightY()
      This will get the upper right y coordinate.
      Returns:
      The upper right y.
    • setUpperRightY

      public void setUpperRightY(float value)
      This will set the upper right y coordinate.
      Parameters:
      value - The upper right y.
    • getWidth

      public float getWidth()
      This will get the width of this rectangle as calculated by upperRightX - lowerLeftX.
      Returns:
      The width of this rectangle.
    • getHeight

      public float getHeight()
      This will get the height of this rectangle as calculated by upperRightY - lowerLeftY.
      Returns:
      The height of this rectangle.
    • transform

      public GeneralPath transform(Matrix matrix)
      Returns a path which represents this rectangle having been transformed by the given matrix. Note that the resulting path need not be rectangular.
      Parameters:
      matrix - the matrix to be used for the transformation.
      Returns:
      the resulting path.
    • 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.
    • toGeneralPath

      public GeneralPath toGeneralPath()
      Returns a general path equivalent to this rectangle. This method avoids the problems caused by Rectangle2D not working well with -ve rectangles.
      Returns:
      the general path.
    • toString

      public String toString()
      This will return a string representation of this rectangle.
      Overrides:
      toString in class Object
      Returns:
      This object as a string.