java.lang.Object
org.jfree.pdf.internal.PDFObject
org.jfree.pdf.Page
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).-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Rectangle2D
The page bounds.private GraphicsStream
The page contents.The list of font (names) used on the page.private Map
<GradientPaintKey, String> A map between gradient paints and the names used to define the associated pattern in the page resources.private PDFGraphics2D
The Graphics2D for writing to the page contents.private Dictionary
The ExtGState dictionary for the page.private AffineTransform
The transform between Page and Java2D coordinates, used in Shading patterns.private Pages
The pages of the document.private Dictionary
The pattern dictionary for this page.private Map
<RadialGradientPaintKey, String> private Dictionary
-
Constructor Summary
ConstructorsConstructorDescriptionPage
(int number, int generation, Pages parent, Rectangle2D bounds) Creates a new page.Page
(int number, int generation, Pages parent, Rectangle2D bounds, boolean filter) Creates a new page. -
Method Summary
Modifier and TypeMethodDescriptionAdds an image to the page.This creates the required PDF object, as well as adding a reference in thexObjects
resources.(package private) String
addSoftMaskImage
(Image img) Adds a soft mask image to the page.private Dictionary
private Dictionary
private Function
Finds the font reference corresponding to the given Java2D font, creating a new one if there isn't one already.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.Returns the name of the pattern for the specifiedGradientPaint
, reusing an existing pattern if possible, otherwise creating a new pattern if necessary.Returns the name of the pattern for the specifiedRadialGradientPaint
, reusing an existing pattern if possible, otherwise creating a new pattern if necessary.Returns a new rectangle containing the bounds for this page (as supplied to the constructor).Returns thePDFObject
that represents the page content.Returns thePDFGraphics2D
instance for drawing to the page.byte[]
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
-
Field Details
-
parent
The pages of the document. -
bounds
The page bounds. -
contents
The page contents. -
graphics2d
The Graphics2D for writing to the page contents. -
fontsOnPage
The list of font (names) used on the page. We let the parent take care of tracking the font objects. -
gradientPaintsOnPage
A map between gradient paints and the names used to define the associated pattern in the page resources. -
radialGradientPaintsOnPage
-
patterns
The pattern dictionary for this page. -
graphicsStates
The ExtGState dictionary for the page. -
j2DTransform
The transform between Page and Java2D coordinates, used in Shading patterns. -
xObjects
-
alphaDictionaries
-
-
Constructor Details
-
Page
Page(int number, int generation, Pages parent, Rectangle2D bounds) Creates a new page.- Parameters:
number
- the PDF object number.generation
- the PDF object generation number.parent
- the parent (manages the pages in thePDFDocument
).bounds
- the page bounds (null
not permitted).
-
Page
Page(int number, int generation, Pages parent, Rectangle2D bounds, boolean filter) Creates a new page.- Parameters:
number
- the PDF object number.generation
- the PDF object generation number.parent
- the parent (manages the pages in thePDFDocument
).bounds
- the page bounds (null
not permitted).filter
- a flag that controls whether or not the graphics stream for the page has a FlateFilter applied.- Since:
- 1.4
-
-
Method Details
-
getBounds
Returns a new rectangle containing the bounds for this page (as supplied to the constructor).- Returns:
- The page bounds.
-
getContents
Returns thePDFObject
that represents the page content.- Returns:
- The
PDFObject
that represents the page content.
-
getGraphics2D
Returns thePDFGraphics2D
instance for drawing to the page.- Returns:
- The
PDFGraphics2D
instance for drawing to the page.
-
findOrCreateFontReference
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.
-
createFontDictionary
-
findOrCreatePattern
Returns the name of the pattern for the specifiedGradientPaint
, 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
Returns the name of the pattern for the specifiedRadialGradientPaint
, reusing an existing pattern if possible, otherwise creating a new pattern if necessary.- Parameters:
gp
- the gradient (null
not permitted).- Returns:
- The pattern name.
-
createFunctionForMultipleGradient
-
findOrCreateGSDictionary
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.
-
addSoftMaskImage
Adds a soft mask image to the page. This is called from theinvalid reference
#addImage(java.awt.Image)
- Parameters:
img
- the image (null
not permitted).- Returns:
- The soft mask image reference.
-
addImage
Adds an image to the page.This creates the required PDF object, as well as adding a reference in thexObjects
resources. You should not call this method directly, it exists for the use of thePDFGraphics2D.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:PDFObject
Returns the bytes that go between the 'obj' and 'endobj' in the PDF output for this object.- Specified by:
getObjectBytes
in classPDFObject
- Returns:
- A byte array.
-
createDictionary
-