Class PDFFormXObject

  • All Implemented Interfaces:
    PDFWritable

    public class PDFFormXObject
    extends PDFXObject
    PDF Form XObject A derivative of the PDFXObject, is a PDF Stream that has not only a dictionary but a stream of image data.
    • Constructor Detail

      • PDFFormXObject

        public PDFFormXObject​(int xnumber,
                              PDFStream contents,
                              PDFReference resources)
        create a FormXObject with the given number and name and load the image in the object
        Parameters:
        xnumber - the pdf object X number
        contents - the form's contents
        resources - the resource PDF reference
    • Method Detail

      • setBBox

        public void setBBox​(java.awt.geom.Rectangle2D bbox)
        Sets the bounding box of the Form XObject.
        Parameters:
        bbox - the bounding box
      • getBBox

        public java.awt.geom.Rectangle2D getBBox()
        Returns the bounding box.
        Returns:
        the BBox value
      • setMatrix

        public void setMatrix​(java.awt.geom.AffineTransform at)
        Sets the Matrix value
        Parameters:
        at - the AffineTransform defining the transformation matrix
      • getMatrix

        public java.awt.geom.AffineTransform getMatrix()
        Returns the Matrix value.
        Returns:
        the Matrix
      • setData

        public void setData​(byte[] data)
                     throws java.io.IOException
        Used to set the contents of the PDF stream.
        Parameters:
        data - the contents as a byte array
        Throws:
        java.io.IOException - in case of an I/O problem
      • outputRawStreamData

        protected void outputRawStreamData​(java.io.OutputStream out)
                                    throws java.io.IOException
        Sends the raw stream data to the target OutputStream.
        Specified by:
        outputRawStreamData in class AbstractPDFStream
        Parameters:
        out - OutputStream to write to
        Throws:
        java.io.IOException - In case of an I/O problem
      • output

        public int output​(java.io.OutputStream stream)
                   throws java.io.IOException
        Overload the base object method so we don't have to copy byte arrays around so much Write the PDF represention of this object
        Overrides:
        output in class AbstractPDFStream
        Parameters:
        stream - the stream to write the PDF to
        Returns:
        the number of bytes written
        Throws:
        java.io.IOException - if there is an error writing to the stream
      • populateStreamDict

        protected void populateStreamDict​(java.lang.Object lengthEntry)
        Populates the dictionary with all necessary entries for the stream. Override this method if you need additional entries.
        Overrides:
        populateStreamDict in class PDFXObject
        Parameters:
        lengthEntry - value for the /Length entry