Class Page
java.lang.Object
com.orsonpdf.PDFObject
com.orsonpdf.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 Rectangle2DThe page bounds.private GraphicsStreamThe 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 PDFGraphics2DThe Graphics2D for writing to the page contents.private DictionaryThe ExtGState dictionary for the page.private AffineTransformThe transform between Page and Java2D coordinates, used in Shading patterns.private PagesThe pages of the document.private DictionaryThe 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 TypeMethodDescription(package private) StringAdds an image to the page.(package private) StringaddSoftMaskImage(Image img) Adds a soft mask image to the page.private Dictionaryprivate Dictionaryprivate Function(package private) StringFinds the font reference corresponding to the given Java2D font, creating a new one if there isn't one already.(package private) StringfindOrCreateGSDictionary(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.(package private) StringReturns the name of the pattern for the specifiedGradientPaint, reusing an existing pattern if possible, otherwise creating a new pattern if necessary.(package private) StringReturns 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 thePDFObjectthat represents the page content.Returns thePDFGraphics2Dinstance 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 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
-
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 (nullnot 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 (nullnot 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 thePDFObjectthat represents the page content.- Returns:
- The
PDFObjectthat represents the page content.
-
getGraphics2D
Returns thePDFGraphics2Dinstance for drawing to the page.- Returns:
- The
PDFGraphics2Dinstance for drawing to the page.
-
findOrCreateFontReference
-
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 (nullnot 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 (nullnot 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 theaddImage(java.awt.Image, boolean)method to support image transparency.- Parameters:
img- the image (nullnot 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 thexObjectsresources. 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 (nullnot permitted).- Returns:
- The image reference name.
-
getObjectBytes
public byte[] getObjectBytes()Description copied from class:PDFObjectReturns the bytes that go between the 'obj' and 'endobj' in the PDF output for this object.- Specified by:
getObjectBytesin classPDFObject- Returns:
- A byte array.
-
createDictionary
-