Package org.apache.fop.pdf
Class PDFStream
java.lang.Object
org.apache.fop.pdf.PDFObject
org.apache.fop.pdf.AbstractPDFStream
org.apache.fop.pdf.PDFStream
- All Implemented Interfaces:
PDFWritable
- Direct Known Subclasses:
ObjectStream
,PDFCMap
,PDFEmbeddedFile
,PDFICCStream
,PDFMetadata
Class representing a PDF stream.
A derivative of the PDF Object, a PDF Stream has not only a dictionary but a stream of PDF commands. The stream of commands is where the real work is done, the dictionary just provides information like the stream length.
-
Field Summary
-
Constructor Summary
ConstructorDescriptionCreate an empty stream objectPDFStream
(boolean encodeOnTheFly) PDFStream
(PDFDictionary dictionary) PDFStream
(PDFDictionary dictionary, boolean encodeOnTheFly) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Append data to the streamvoid
add
(StringBuffer sb) Append data to the streamReturns an OutputStream that can be used to write to the buffer which is used to build up the PDF stream.Returns a Writer that writes to the OutputStream of the buffer.int
Returns the size of the content.protected int
Returns a value that hints at the size of the encoded stream.int
output
(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
Sends the raw stream data to the target OutputStream.void
setData
(byte[] data) Used to set the contents of the PDF stream.Methods inherited from class org.apache.fop.pdf.AbstractPDFStream
encodeAndWriteStream, encodeStream, get, getChildren, getDefaultFilterName, getDictionary, getFilterList, multipleFiltersAllowed, outputStreamData, populateStreamDict, 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 Details
-
data
The stream of PDF commands
-
-
Constructor Details
-
PDFStream
public PDFStream()Create an empty stream object -
PDFStream
-
PDFStream
-
PDFStream
public PDFStream(boolean encodeOnTheFly)
-
-
Method Details
-
add
Append data to the stream- Parameters:
s
- the string of PDF to add
-
add
Append data to the stream- Parameters:
sb
- the string buffer of PDF to add
-
getBufferWriter
Returns a Writer that writes to the OutputStream of the buffer.- Returns:
- the Writer
-
getBufferOutputStream
Returns an OutputStream that can be used to write to the buffer which is used to build up the PDF stream.- Returns:
- the OutputStream
- Throws:
IOException
- In case of an I/O problem
-
setData
Used to set the contents of the PDF stream.- Parameters:
data
- the contents as a byte array- Throws:
IOException
- in case of an I/O problem
-
getDataLength
public int getDataLength()Returns the size of the content.- Returns:
- size of the content
-
getSizeHint
Returns a value that hints at the size of the encoded stream. This is used to optimize buffer allocation so fewer buffer reallocations are necessary.- Specified by:
getSizeHint
in classAbstractPDFStream
- Returns:
- an estimated size (0 if no hint can be given)
- Throws:
IOException
- in case of an I/O problem
-
outputRawStreamData
Sends the raw stream data to the target OutputStream.- Specified by:
outputRawStreamData
in classAbstractPDFStream
- Parameters:
out
- OutputStream to write to- Throws:
IOException
- In case of an I/O problem
-
output
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:
IOException
- if there is an error writing to the stream
-
streamHashCode
- Throws:
IOException
-