Module org.jfree.pdf
Package org.jfree.pdf

# Class Page

java.lang.Object
org.jfree.pdf.internal.PDFObject
org.jfree.pdf.Page

public class Page extends org.jfree.pdf.internal.PDFObject
Represents a page in a `PDFDocument`. Our objective is to be able to write to the page using the `PDFGraphics2D` class (see the `getGraphics2D()` method).

## Method Summary

Modifier and Type
Method
Description
`String`
`addImage(Image img, boolean addSoftMaskImage)`
Adds an image to the page.This creates the required PDF object, as well as adding a reference in the `xObjects` resources.
`String`
`findOrCreateFontReference(Font font)`
Finds the font reference corresponding to the given Java2D font, creating a new one if there isn't one already.
`String`
`findOrCreateGSDictionary(int alpha)`
Returns the name of the Graphics State Dictionary that can be used for the specified alpha value - if there is no existing dictionary then a new one is created.
`String`
`findOrCreatePattern(GradientPaint gp)`
Returns the name of the pattern for the specified `GradientPaint`, reusing an existing pattern if possible, otherwise creating a new pattern if necessary.
`String`
`findOrCreatePattern(RadialGradientPaint gp)`
Returns the name of the pattern for the specified `RadialGradientPaint`, reusing an existing pattern if possible, otherwise creating a new pattern if necessary.
`Rectangle2D`
`getBounds()`
Returns a new rectangle containing the bounds for this page (as supplied to the constructor).
`org.jfree.pdf.internal.PDFObject`
`getContents()`
Returns the `PDFObject` that represents the page content.
`PDFGraphics2D`
`getGraphics2D()`
Returns the `PDFGraphics2D` instance for drawing to the page.
`byte[]`
`getObjectBytes()`
Returns the bytes that go between the 'obj' and 'endobj' in the PDF output for this object.

### Methods inherited from class org.jfree.pdf.internal.PDFObject

`getGeneration, getNumber, getReference, toPDFBytes`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### getBounds

public Rectangle2D getBounds()
Returns a new rectangle containing the bounds for this page (as supplied to the constructor).

Returns:
  The page bounds.

### getContents

public org.jfree.pdf.internal.PDFObject getContents()
Returns the `PDFObject` that represents the page content.

Returns:
  The `PDFObject` that represents the page content.

### getGraphics2D

public PDFGraphics2D getGraphics2D()
Returns the `PDFGraphics2D` instance for drawing to the page.

Returns:
  The `PDFGraphics2D` instance for drawing to the page.

### findOrCreateFontReference

public String findOrCreateFontReference(Font font)
Finds the font reference corresponding to the given Java2D font, creating a new one if there isn't one already.

Parameters:
  `font` - the AWT font.
Returns:
  The font reference.

### findOrCreatePattern

public String findOrCreatePattern(GradientPaint gp)
Returns the name of the pattern for the specified `GradientPaint`, reusing an existing pattern if possible, otherwise creating a new pattern if necessary.

Parameters:
  `gp` - the gradient (`null` not permitted).
Returns:
  The pattern name.

### findOrCreatePattern

public String findOrCreatePattern(RadialGradientPaint gp)
Returns the name of the pattern for the specified `RadialGradientPaint`, reusing an existing pattern if possible, otherwise creating a new pattern if necessary.

Parameters:
  `gp` - the gradient (`null` not permitted).
Returns:
  The pattern name.

### findOrCreateGSDictionary

public String findOrCreateGSDictionary(int alpha)
Returns the name of the Graphics State Dictionary that can be used for the specified alpha value - if there is no existing dictionary then a new one is created.

Parameters:
  `alpha` - the alpha value in the range 0 to 255.
Returns:
  The graphics state dictionary reference.

### addImage

public String addImage(Image img, boolean addSoftMaskImage)
Adds an image to the page.This creates the required PDF object, as well as adding a reference in the `xObjects` resources. You should not call this method directly, it exists for the use of the `PDFGraphics2D.drawImage(java.awt.Image, int, int, int, int, java.awt.image.ImageObserver)` method.

Parameters:
  `img` - the image (`null` not permitted).
  `addSoftMaskImage` - add as a soft mask image?
Returns:
  The image reference name.

### getObjectBytes

public byte[] getObjectBytes()
Description copied from class: `org.jfree.pdf.internal.PDFObject`
Returns the bytes that go between the 'obj' and 'endobj' in the PDF output for this object.

Specified by:
  `getObjectBytes` in class `org.jfree.pdf.internal.PDFObject`
Returns:
  A byte array.