Package org.apache.fop.pdf
Class PDFFormXObject
- java.lang.Object
-
- org.apache.fop.pdf.PDFObject
-
- org.apache.fop.pdf.AbstractPDFStream
-
- org.apache.fop.pdf.PDFXObject
-
- org.apache.fop.pdf.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 Summary
Constructors Constructor Description PDFFormXObject(int xnumber, PDFStream contents, PDFReference resources)
create a FormXObject with the given number and name and load the image in the object
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.awt.geom.Rectangle2D
getBBox()
Returns the bounding box.java.awt.geom.AffineTransform
getMatrix()
Returns the Matrix value.int
output(java.io.OutputStream stream)
Overload the base object method so we don't have to copy byte arrays around so much Write the PDF represention of this objectprotected void
outputRawStreamData(java.io.OutputStream out)
Sends the raw stream data to the target OutputStream.protected void
populateStreamDict(java.lang.Object lengthEntry)
Populates the dictionary with all necessary entries for the stream.void
setBBox(java.awt.geom.Rectangle2D bbox)
Sets the bounding box of the Form XObject.void
setData(byte[] data)
Used to set the contents of the PDF stream.void
setMatrix(java.awt.geom.AffineTransform at)
Sets the Matrix value-
Methods inherited from class org.apache.fop.pdf.PDFXObject
getName, getSizeHint
-
Methods inherited from class org.apache.fop.pdf.AbstractPDFStream
encodeAndWriteStream, encodeStream, get, getChildren, getDefaultFilterName, getDictionary, getFilterList, multipleFiltersAllowed, outputStreamData, prepareImplicitFilters, put, registerChildren, setDocument, setupFilterList
-
Methods inherited from class org.apache.fop.pdf.PDFObject
contentEquals, encode, encodeBinaryToHexString, encodeString, encodeText, formatObject, getDocument, getDocumentSafely, getGeneration, getObjectID, getObjectNumber, getParent, hasObjectNumber, makeReference, outputInline, referencePDF, setObjectNumber, setObjectNumber, setObjectNumber, setParent, toPDF, toPDFString
-
-
-
-
Field Detail
-
contents
private PDFStream contents
-
-
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 numbercontents
- the form's contentsresources
- 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 classAbstractPDFStream
- 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 classAbstractPDFStream
- 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 classPDFXObject
- Parameters:
lengthEntry
- value for the /Length entry
-
-