Class PDRectangle

java.lang.Object
org.apache.pdfbox.pdmodel.common.PDRectangle
All Implemented Interfaces:
COSObjectable
Direct Known Subclasses:
PDImmutableRectangle

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

    Fields
    Modifier and Type
    Field
    Description
    static final PDRectangle
    An immutable rectangle the size of A0 Paper.
    static final PDRectangle
    An immutable rectangle the size of A1 Paper.
    static final PDRectangle
    An immutable rectangle the size of A2 Paper.
    static final PDRectangle
    An immutable rectangle the size of A3 Paper.
    static final PDRectangle
    An immutable rectangle the size of A4 Paper.
    static final PDRectangle
    An immutable rectangle the size of A5 Paper.
    static final PDRectangle
    An immutable rectangle the size of A6 Paper.
    static final PDRectangle
    An immutable rectangle the size of U.S.
    static final PDRectangle
    An immutable rectangle the size of U.S.
    private static final float
    user space units per inch
    private static final float
    user space units per millimeter
    private final COSArray
     
    static final PDRectangle
    An immutable 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.
    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

    • POINTS_PER_INCH

      private static final float POINTS_PER_INCH
      user space units per inch
      See Also:
    • POINTS_PER_MM

      private static final float POINTS_PER_MM
      user space units per millimeter
      See Also:
    • LETTER

      public static final PDRectangle LETTER
      An immutable rectangle the size of U.S. Letter, 8.5" x 11".
    • TABLOID

      public static final PDRectangle TABLOID
      An immutable rectangle the size of U.S. Tabloid, 11" x 17".
    • A0

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

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

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

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

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

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

      public static final PDRectangle A6
      An immutable rectangle the size of A6 Paper.
    • rectArray

      private final COSArray rectArray
  • 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(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 transformed rectangle
    • 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:
      a general path equivalent to this rectangle
    • toString

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