Package com.orsonpdf

Class Page

    • Constructor Summary

      Constructors 
      Constructor Description
      Page​(int number, int generation, Pages parent, java.awt.geom.Rectangle2D bounds)
      Creates a new page.
      Page​(int number, int generation, Pages parent, java.awt.geom.Rectangle2D bounds, boolean filter)
      Creates a new page.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) java.lang.String addImage​(java.awt.Image img, boolean addSoftMaskImage)
      Adds an image to the page.
      (package private) java.lang.String addSoftMaskImage​(java.awt.Image img)
      Adds a soft mask image to the page.
      private Dictionary createDictionary()  
      private Dictionary createFontDictionary()  
      private Function createFunctionForMultipleGradient​(java.awt.MultipleGradientPaint mgp)  
      (package private) java.lang.String findOrCreateFontReference​(java.awt.Font font)
      Finds the font reference corresponding to the given Java2D font, creating a new one if there isn't one already.
      (package private) java.lang.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.
      (package private) java.lang.String findOrCreatePattern​(java.awt.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.
      (package private) java.lang.String findOrCreatePattern​(java.awt.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.
      java.awt.geom.Rectangle2D getBounds()
      Returns a new rectangle containing the bounds for this page (as supplied to the constructor).
      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 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • parent

        private Pages parent
        The pages of the document.
      • bounds

        private java.awt.geom.Rectangle2D bounds
        The page bounds.
      • graphics2d

        private PDFGraphics2D graphics2d
        The Graphics2D for writing to the page contents.
      • fontsOnPage

        private java.util.List<java.lang.String> fontsOnPage
        The list of font (names) used on the page. We let the parent take care of tracking the font objects.
      • gradientPaintsOnPage

        private java.util.Map<GradientPaintKey,​java.lang.String> gradientPaintsOnPage
        A map between gradient paints and the names used to define the associated pattern in the page resources.
      • radialGradientPaintsOnPage

        private java.util.Map<RadialGradientPaintKey,​java.lang.String> radialGradientPaintsOnPage
      • patterns

        private Dictionary patterns
        The pattern dictionary for this page.
      • graphicsStates

        private Dictionary graphicsStates
        The ExtGState dictionary for the page.
      • j2DTransform

        private java.awt.geom.AffineTransform j2DTransform
        The transform between Page and Java2D coordinates, used in Shading patterns.
      • alphaDictionaries

        private java.util.Map<java.lang.Integer,​java.lang.String> alphaDictionaries
    • Constructor Detail

      • Page

        Page​(int number,
             int generation,
             Pages parent,
             java.awt.geom.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 the PDFDocument).
        bounds - the page bounds (null not permitted).
      • Page

        Page​(int number,
             int generation,
             Pages parent,
             java.awt.geom.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 the PDFDocument).
        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 Detail

      • getBounds

        public java.awt.geom.Rectangle2D getBounds()
        Returns a new rectangle containing the bounds for this page (as supplied to the constructor).
        Returns:
        The page bounds.
      • getContents

        public 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

        java.lang.String findOrCreateFontReference​(java.awt.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.
      • createFontDictionary

        private Dictionary createFontDictionary()
      • findOrCreatePattern

        java.lang.String findOrCreatePattern​(java.awt.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

        java.lang.String findOrCreatePattern​(java.awt.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.
      • createFunctionForMultipleGradient

        private Function createFunctionForMultipleGradient​(java.awt.MultipleGradientPaint mgp)
      • findOrCreateGSDictionary

        java.lang.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.
      • addSoftMaskImage

        java.lang.String addSoftMaskImage​(java.awt.Image img)
        Adds a soft mask image to the page. This is called from the addImage(java.awt.Image, boolean) method to support image transparency.
        Parameters:
        img - the image (null not permitted).
        Returns:
        The soft mask image reference.
      • addImage

        java.lang.String addImage​(java.awt.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).
        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 class PDFObject
        Returns:
        A byte array.
      • createDictionary

        private Dictionary createDictionary()