Package org.apache.pdfbox.cos
Class COSStream
java.lang.Object
org.apache.pdfbox.cos.COSBase
org.apache.pdfbox.cos.COSDictionary
org.apache.pdfbox.cos.COSStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
,COSUpdateInfo
,COSObjectable
This class represents a stream object in a PDF document.
- Author:
- Ben Litchfield
-
Field Summary
Fields inherited from class org.apache.pdfbox.cos.COSDictionary
items
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new stream with an empty dictionary.COSStream
(ScratchFile scratchFile) Creates a new stream with an empty dictionary. -
Method Summary
Modifier and TypeMethodDescriptionaccept
(ICOSVisitor visitor) visitor pattern double dispatch method.void
close()
Deprecated.Returns a new InputStream which reads the decoded stream data.createInputStream
(DecodeOptions options) Returns a new OutputStream for writing stream data, using the current filters.createOutputStream
(COSBase filters) Returns a new OutputStream for writing stream data, using and the given filters.Returns a new InputStream which reads the encoded PDF stream data.Returns a new OutputStream for writing encoded PDF data.Deprecated.UsecreateOutputStream()
instead.Deprecated.UsecreateRawInputStream()
instead.This will return the filters to apply to the byte stream.long
Returns the length of the encoded stream.Deprecated.UsetoTextString()
instead.Deprecated.UsecreateInputStream()
instead.void
setFilters
(COSBase filters) Deprecated.UsecreateOutputStream(COSBase)
instead.Returns the contents of the stream as a PDF "text string".Methods inherited from class org.apache.pdfbox.cos.COSDictionary
addAll, asUnmodifiableDictionary, clear, containsKey, containsKey, containsValue, entrySet, getBoolean, getBoolean, getBoolean, getCOSArray, getCOSDictionary, getCOSName, getCOSName, getCOSObject, getCOSStream, getDate, getDate, getDate, getDate, getDictionaryObject, getDictionaryObject, getDictionaryObject, getDictionaryObject, getEmbeddedDate, getEmbeddedDate, getEmbeddedDate, getEmbeddedDate, getEmbeddedInt, getEmbeddedInt, getEmbeddedInt, getEmbeddedInt, getEmbeddedString, getEmbeddedString, getEmbeddedString, getEmbeddedString, getFlag, getFloat, getFloat, getFloat, getFloat, getInt, getInt, getInt, getInt, getInt, getInt, getInt, getItem, getItem, getItem, getKeyForValue, getLong, getLong, getLong, getLong, getLong, getNameAsString, getNameAsString, getNameAsString, getNameAsString, getObjectFromPath, getString, getString, getString, getString, getValues, isNeedToBeUpdated, keySet, mergeInto, removeItem, setBoolean, setBoolean, setDate, setDate, setEmbeddedDate, setEmbeddedDate, setEmbeddedInt, setEmbeddedInt, setEmbeddedString, setEmbeddedString, setFlag, setFloat, setFloat, setInt, setInt, setItem, setItem, setItem, setItem, setLong, setLong, setName, setName, setNeedToBeUpdated, setString, setString, size, toString
Methods inherited from class org.apache.pdfbox.cos.COSBase
getCOSObject, isDirect, setDirect
-
Constructor Details
-
COSStream
public COSStream()Creates a new stream with an empty dictionary.Try to avoid using this constructor because it creates a new scratch file in memory. Instead, use
document.getDocument().createCOSStream()
which will use the existing scratch file (in memory or in temp file) of the document. -
COSStream
Creates a new stream with an empty dictionary. Data is stored in the given scratch file.- Parameters:
scratchFile
- Scratch file for writing stream data.
-
-
Method Details
-
getFilteredStream
Deprecated.UsecreateRawInputStream()
instead.This will get the stream with all of the filters applied.- Returns:
- the bytes of the physical (encoded) stream
- Throws:
IOException
- when encoding causes an exception
-
createRawInputStream
Returns a new InputStream which reads the encoded PDF stream data. Experts only!- Returns:
- InputStream containing raw, encoded PDF stream data.
- Throws:
IOException
- If the stream could not be read.
-
getUnfilteredStream
Deprecated.UsecreateInputStream()
instead.This will get the logical content stream with none of the filters.- Returns:
- the bytes of the logical (decoded) stream
- Throws:
IOException
- when decoding causes an exception
-
createInputStream
Returns a new InputStream which reads the decoded stream data.- Returns:
- InputStream containing decoded stream data.
- Throws:
IOException
- If the stream could not be read.
-
createInputStream
- Throws:
IOException
-
createUnfilteredStream
Deprecated.UsecreateOutputStream()
instead.This will create an output stream that can be written to.- Returns:
- An output stream which raw data bytes should be written to.
- Throws:
IOException
- If there is an error creating the stream.
-
createOutputStream
Returns a new OutputStream for writing stream data, using the current filters.- Returns:
- OutputStream for un-encoded stream data.
- Throws:
IOException
- If the output stream could not be created.
-
createOutputStream
Returns a new OutputStream for writing stream data, using and the given filters.- Parameters:
filters
- COSArray or COSName of filters to be used.- Returns:
- OutputStream for un-encoded stream data.
- Throws:
IOException
- If the output stream could not be created.
-
createFilteredStream
Deprecated.UsecreateRawOutputStream()
instead.This will create a new stream for which filtered byte should be written to. You probably don't want this but want to use the createUnfilteredStream, which is used to write raw bytes to.- Returns:
- A stream that can be written to.
- Throws:
IOException
- If there is an error creating the stream.
-
createRawOutputStream
Returns a new OutputStream for writing encoded PDF data. Experts only!- Returns:
- OutputStream for raw PDF stream data.
- Throws:
IOException
- If the output stream could not be created.
-
getLength
public long getLength()Returns the length of the encoded stream.- Returns:
- length in bytes
-
getFilters
This will return the filters to apply to the byte stream. The method will return- null if no filters are to be applied
- a COSName if one filter is to be applied
- a COSArray containing COSNames if multiple filters are to be applied
- Returns:
- the COSBase object representing the filters
-
setFilters
Deprecated.UsecreateOutputStream(COSBase)
instead.Sets the filters to be applied when encoding or decoding the stream.- Parameters:
filters
- The filters to set on this stream.- Throws:
IOException
- If there is an error clearing the old filters.
-
getString
Deprecated.UsetoTextString()
instead.Returns the contents of the stream as a text string.- Returns:
- the string representation of this string.
-
toTextString
Returns the contents of the stream as a PDF "text string".- Returns:
- the text string representation of this stream.
-
accept
Description copied from class:COSDictionary
visitor pattern double dispatch method.- Overrides:
accept
in classCOSDictionary
- Parameters:
visitor
- The object to notify when visiting this object.- Returns:
- The object that the visitor returns.
- Throws:
IOException
- If there is an error visiting this object.
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
createRawOutputStream()
instead.