Package com.itextpdf.kernel.pdf
Class PdfStream
java.lang.Object
com.itextpdf.kernel.pdf.PdfObject
com.itextpdf.kernel.pdf.PdfDictionary
com.itextpdf.kernel.pdf.PdfStream
Representation of a stream as described in the PDF Specification.
-
Field Summary
FieldsFields inherited from class com.itextpdf.kernel.pdf.PdfObject
ARRAY, BOOLEAN, DICTIONARY, FLUSHED, FORBID_RELEASE, FREE, INDIRECT_REFERENCE, indirectReference, LITERAL, MODIFIED, MUST_BE_FLUSHED, MUST_BE_INDIRECT, NAME, NULL, NUMBER, ORIGINAL_OBJECT_STREAM, READ_ONLY, READING, STREAM, STRING, UNENCRYPTED -
Constructor Summary
ConstructorsModifierConstructorDescriptionCreates an empty PdfStream instance.PdfStream(byte[] bytes) Creates a PdfStream instance.PdfStream(byte[] bytes, int compressionLevel) Constructs aPdfStream-object.PdfStream(int compressionLevel) Constructs aPdfStream-object.PdfStream(PdfDocument doc, InputStream inputStream) Creates an efficient stream.PdfStream(PdfDocument doc, InputStream inputStream, int compressionLevel) Creates an efficient stream.protectedPdfStream(OutputStream outputStream) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcopyContent(PdfObject from, PdfDocument document) Copies object content from object 'from'.protected voidcopyContent(PdfObject from, PdfDocument document, ICopyFilter copyFilter) Copies object content from object 'from'.byte[]getBytes()Gets decoded stream bytes.byte[]getBytes(boolean decoded) Gets stream bytes.intGets compression level of this PdfStream.protected InputStreamintprotected longGets output stream.bytegetType()Gets object type.protected voidinitOutputStream(OutputStream stream) protected PdfObjectCreates new instance of object.protected voidRelease content of PdfStream.voidsetCompressionLevel(int compressionLevel) Sets compression level of this PdfStream.voidsetData(byte[] bytes) Setsbytesas stream's content.voidsetData(byte[] bytes, boolean append) Sets or appendsbytesto stream content.protected voidupdateLength(int length) Update length manually in case its correction.Methods inherited from class com.itextpdf.kernel.pdf.PdfDictionary
clear, clone, containsKey, containsValue, copyTo, copyTo, entrySet, get, get, getAsArray, getAsBool, getAsBoolean, getAsDictionary, getAsFloat, getAsInt, getAsName, getAsNumber, getAsRectangle, getAsStream, getAsString, isEmpty, keySet, mergeDifferent, put, putAll, remove, size, toString, values, valuesMethods inherited from class com.itextpdf.kernel.pdf.PdfObject
checkState, clearState, clone, clone, containsIndirectReference, copyTo, copyTo, copyTo, copyTo, flush, flush, getIndirectReference, isArray, isBoolean, isDictionary, isFlushed, isIndirect, isIndirectReference, isLiteral, isModified, isName, isNull, isNumber, isReleaseForbidden, isStream, isString, makeIndirect, makeIndirect, release, setIndirectReference, setModified, setState
-
Field Details
-
compressionLevel
protected int compressionLevel -
outputStream
-
-
Constructor Details
-
PdfStream
public PdfStream(byte[] bytes, int compressionLevel) Constructs aPdfStream-object.- Parameters:
-
bytes- initial content ofPdfOutputStream. -
compressionLevel- the compression level (0 = best speed, 9 = best compression, -1 is default)
-
PdfStream
public PdfStream(byte[] bytes) Creates a PdfStream instance.- Parameters:
-
bytes- bytes to write to the PdfStream
-
PdfStream
Creates an efficient stream. No temporary array is ever created. TheInputStreamis totally consumed but is not closed. The general usage is:
PdfDocument document = ?; InputStream in = ?; PdfStream stream = new PdfStream(document, in, PdfOutputStream.DEFAULT_COMPRESSION); ? stream.flush(); in.close();
- Parameters:
-
doc- thepdf documentin which this stream lies -
inputStream- the data to write to this stream -
compressionLevel- the compression level (0 = best speed, 9 = best compression, -1 is default)
-
PdfStream
Creates an efficient stream. No temporary array is ever created. TheInputStreamis totally consumed but is not closed. The general usage is:
PdfDocument document = ?; InputStream in = ?; PdfStream stream = new PdfStream(document, in); stream.flush(); in.close();
- Parameters:
-
doc- thepdf documentin which this stream lies -
inputStream- the data to write to this stream
-
PdfStream
public PdfStream(int compressionLevel) Constructs aPdfStream-object.- Parameters:
-
compressionLevel- the compression level (0 = best speed, 9 = best compression, -1 is default)
-
PdfStream
public PdfStream()Creates an empty PdfStream instance. -
PdfStream
-
-
Method Details
-
getOutputStream
Gets output stream.- Returns:
- output stream
-
getCompressionLevel
public int getCompressionLevel()Gets compression level of this PdfStream. For more details @seeDeflaterOutputStream.- Returns:
- compression level.
-
setCompressionLevel
public void setCompressionLevel(int compressionLevel) Sets compression level of this PdfStream. For more details @seeDeflaterOutputStream.- Parameters:
-
compressionLevel- the compression level (0 = best speed, 9 = best compression, -1 is default)
-
getType
public byte getType()Description copied from class:PdfObjectGets object type.- Overrides:
-
getTypein classPdfDictionary - Returns:
- object type.
-
getLength
public int getLength() -
getBytes
public byte[] getBytes()Gets decoded stream bytes. Note,PdfName.DCTDecodeandPdfName.JPXDecodefilters will be ignored.- Returns:
-
byte content of the
PdfStream. Byte content will benull, if thePdfStreamwas created byInputStream.
-
getBytes
public byte[] getBytes(boolean decoded) Gets stream bytes. Note,PdfName.DCTDecodeandPdfName.JPXDecodefilters will be ignored.- Parameters:
-
decoded- true if to get decoded stream bytes, otherwise false. - Returns:
-
byte content of the
PdfStream. Byte content will benull, if thePdfStreamwas created byInputStream.
-
setData
public void setData(byte[] bytes) Setsbytesas stream's content. Could not be used with streams which were created byInputStream.- Parameters:
-
bytes- new content for stream; ifnullthen stream's content will be discarded
-
setData
public void setData(byte[] bytes, boolean append) Sets or appendsbytesto stream content. Could not be used with streams which were created byInputStream.- Parameters:
-
bytes- New content for stream. These bytes are considered to be a raw data (i.e. not encoded/compressed/encrypted) and if it's not true, the corresponding filters shall be set to the PdfStream object manually. Data compression generally should be configured viasetCompressionLevel(int)and is handled on stream writing to the output document. Ifnullandappendis false then stream's content will be discarded. -
append- If set to true thenbyteswill be appended to the end, rather then replace original content. The original content will be decoded if needed.
-
newInstance
Description copied from class:PdfObjectCreates new instance of object.- Overrides:
-
newInstancein classPdfDictionary - Returns:
- new instance of object.
-
getOffset
protected long getOffset() -
updateLength
protected void updateLength(int length) Update length manually in case its correction.- Parameters:
-
length- the new length - See Also:
-
PdfReader.checkPdfStreamLength(PdfStream)
-
copyContent
Description copied from class:PdfDictionaryCopies object content from object 'from'.- Overrides:
-
copyContentin classPdfDictionary - Parameters:
-
from- object to copy content from. -
document- document to copy object to.
-
copyContent
Description copied from class:PdfDictionaryCopies object content from object 'from'.- Overrides:
-
copyContentin classPdfDictionary - Parameters:
-
from- object to copy content from. -
document- document to copy object to. -
copyFilter-ICopyFiltera filter that will apply on dictionaries and array UseNullCopyFilterfor no filtering
-
initOutputStream
-
releaseContent
protected void releaseContent()Release content of PdfStream.- Overrides:
-
releaseContentin classPdfDictionary
-
getInputStream
-