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
public class PDFStream extends AbstractPDFStream
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
Fields Modifier and Type Field Description protected StreamCachedataThe stream of PDF commands
-
Constructor Summary
Constructors Constructor Description PDFStream()Create an empty stream objectPDFStream(boolean encodeOnTheFly)PDFStream(PDFDictionary dictionary)PDFStream(PDFDictionary dictionary, boolean encodeOnTheFly)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(java.lang.String s)Append data to the streamvoidadd(java.lang.StringBuffer sb)Append data to the streamjava.io.OutputStreamgetBufferOutputStream()Returns an OutputStream that can be used to write to the buffer which is used to build up the PDF stream.java.io.WritergetBufferWriter()Returns a Writer that writes to the OutputStream of the buffer.intgetDataLength()Returns the size of the content.protected intgetSizeHint()Returns a value that hints at the size of the encoded stream.intoutput(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 voidoutputRawStreamData(java.io.OutputStream out)Sends the raw stream data to the target OutputStream.voidsetData(byte[] data)Used to set the contents of the PDF stream.java.lang.StringstreamHashCode()-
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 Detail
-
data
protected StreamCache data
The stream of PDF commands
-
-
Constructor Detail
-
PDFStream
public PDFStream()
Create an empty stream object
-
PDFStream
public PDFStream(PDFDictionary dictionary)
-
PDFStream
public PDFStream(PDFDictionary dictionary, boolean encodeOnTheFly)
-
PDFStream
public PDFStream(boolean encodeOnTheFly)
-
-
Method Detail
-
add
public void add(java.lang.String s)
Append data to the stream- Parameters:
s- the string of PDF to add
-
add
public void add(java.lang.StringBuffer sb)
Append data to the stream- Parameters:
sb- the string buffer of PDF to add
-
getBufferWriter
public java.io.Writer getBufferWriter()
Returns a Writer that writes to the OutputStream of the buffer.- Returns:
- the Writer
-
getBufferOutputStream
public java.io.OutputStream getBufferOutputStream() throws java.io.IOExceptionReturns an OutputStream that can be used to write to the buffer which is used to build up the PDF stream.- Returns:
- the OutputStream
- Throws:
java.io.IOException- In case of an I/O problem
-
setData
public void setData(byte[] data) throws java.io.IOExceptionUsed 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
-
getDataLength
public int getDataLength()
Returns the size of the content.- Returns:
- size of the content
-
getSizeHint
protected int getSizeHint() throws java.io.IOExceptionReturns 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:
getSizeHintin classAbstractPDFStream- Returns:
- an estimated size (0 if no hint can be given)
- Throws:
java.io.IOException- in case of an I/O problem
-
outputRawStreamData
protected void outputRawStreamData(java.io.OutputStream out) throws java.io.IOExceptionSends the raw stream data to the target OutputStream.- Specified by:
outputRawStreamDatain 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.IOExceptionOverload the base object method so we don't have to copy byte arrays around so much Write the PDF represention of this object- Overrides:
outputin 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
-
streamHashCode
public java.lang.String streamHashCode() throws java.io.IOException- Throws:
java.io.IOException
-
-