com.lowagie.text.pdf

## Class PRStream

- java.lang.Object
- - com.lowagie.text.pdf.PdfObject
  - - com.lowagie.text.pdf.PdfDictionary
    - - com.lowagie.text.pdf.PdfStream
      - - com.lowagie.text.pdf.PRStream

    public class PRStream
    extends PdfStream

### Field Summary

Fields
`protected int` `length`
`protected int` `objGen`
`protected int` `objNum`
`protected int` `offset`
`protected PdfReader` `reader`

### Fields inherited from class com.lowagie.text.pdf.PdfStream

`BEST_COMPRESSION, BEST_SPEED, compressed, compressionLevel, DEFAULT_COMPRESSION, ENDSTREAM, inputStream, inputStreamLength, NO_COMPRESSION, rawLength, ref, SIZESTREAM, STARTSTREAM, streamBytes, writer`

### Fields inherited from class com.lowagie.text.pdf.PdfDictionary

`CATALOG, FONT, hashMap, OUTLINES, PAGE, PAGES`

### Fields inherited from class com.lowagie.text.pdf.PdfObject

`ARRAY, BOOLEAN, bytes, DICTIONARY, INDIRECT, indRef, NAME, NOTHING, NULL, NUMBER, STREAM, STRING, TEXT_PDFDOCENCODING, TEXT_UNICODE, type`

### Constructor Summary

Constructors
Constructor and Description
`PRStream(PdfReader reader, byte[] conts)`
`PRStream(PdfReader reader, byte[] conts, int compressionLevel)` Creates a new PDF stream object that will replace a stream in a existing PDF file.
`PRStream(PdfReader reader, int offset)`
`PRStream(PRStream stream, PdfDictionary newDic)`
`PRStream(PRStream stream, PdfDictionary newDic, PdfReader reader)`

### Method Summary

Methods
`byte[]` `getBytes()` Gets the presentation of this object in a byte array
`int` `getLength()`
`(package private) int` `getObjGen()`
`(package private) int` `getObjNum()`
`int` `getOffset()`
`PdfReader` `getReader()`
`void` `setData(byte[] data)` Sets the data associated with the stream
`void` `setData(byte[] data, boolean compress)` Sets the data associated with the stream, either compressed or uncompressed.
`void` `setData(byte[] data, boolean compress, int compressionLevel)` Sets the data associated with the stream, either compressed or uncompressed.
`void` `setLength(int length)`
`void` `setObjNum(int objNum, int objGen)`
`void` `toPdf(PdfWriter writer, java.io.OutputStream os)` Writes the PDF representation of this `PdfDictionary` as an array of `byte` to the given `OutputStream`.

### Methods inherited from class com.lowagie.text.pdf.PdfStream

`flateCompress, flateCompress, getRawLength, superToPdf, toString, writeContent, writeLength`

### Methods inherited from class com.lowagie.text.pdf.PdfDictionary

`contains, get, getAsArray, getAsBoolean, getAsDict, getAsIndirectObject, getAsName, getAsNumber, getAsStream, getAsString, getDirectObject, getKeys, isCatalog, isFont, isOutlineTree, isPage, isPages, merge, mergeDifferent, put, putAll, putEx, remove, size`

### Methods inherited from class com.lowagie.text.pdf.PdfObject

`canBeInObjStm, getIndRef, isArray, isBoolean, isDictionary, isIndirect, isName, isNull, isNumber, isStream, isString, length, setContent, setIndRef, type`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### reader

    protected PdfReader reader

#### offset

    protected int offset

#### length

    protected int length

#### objNum

    protected int objNum

#### objGen

    protected int objGen

### Constructor Detail

#### PRStream

    public PRStream(PRStream stream,
            PdfDictionary newDic)

#### PRStream

    public PRStream(PRStream stream,
            PdfDictionary newDic,
            PdfReader reader)

#### PRStream

    public PRStream(PdfReader reader,
            int offset)

#### PRStream

    public PRStream(PdfReader reader,
            byte[] conts)

#### PRStream

    public PRStream(PdfReader reader,
            byte[] conts,
            int compressionLevel)

Creates a new PDF stream object that will replace a stream in a existing PDF file.

Parameters:
  `reader` - the reader that holds the existing PDF
  `conts` - the new content
  `compressionLevel` - the compression level for the content
Since:
  2.1.3 (replacing the existing constructor without param compressionLevel)

### Method Detail

#### setData

    public void setData(byte[] data,
               boolean compress)

Sets the data associated with the stream, either compressed or uncompressed. Note that the data will never be compressed if Document.compress is set to false.

Parameters:
  `data` - raw data, decrypted and uncompressed.
  `compress` - true if you want the stream to be compressed.
Since:
  iText 2.1.1

#### setData

    public void setData(byte[] data,
               boolean compress,
               int compressionLevel)

Sets the data associated with the stream, either compressed or uncompressed. Note that the data will never be compressed if Document.compress is set to false.

Parameters:
  `data` - raw data, decrypted and uncompressed.
  `compress` - true if you want the stream to be compressed.
  `compressionLevel` - a value between -1 and 9 (ignored if compress == false)
Since:
  iText 2.1.3

#### setData

    public void setData(byte[] data)

Sets the data associated with the stream

Parameters:
  `data` - raw data, decrypted and uncompressed.

#### setLength

    public void setLength(int length)

#### getOffset

    public int getOffset()

#### getLength

    public int getLength()

#### getReader

    public PdfReader getReader()

#### getBytes

    public byte[] getBytes()

Description copied from class: `PdfObject`
Gets the presentation of this object in a byte array

Overrides:
  `getBytes` in class `PdfObject`
Returns:
  a byte array

#### setObjNum

    public void setObjNum(int objNum,
                 int objGen)

#### getObjNum

    int getObjNum()

#### getObjGen

    int getObjGen()

#### toPdf

    public void toPdf(PdfWriter writer,
             java.io.OutputStream os)
               throws java.io.IOException

Description copied from class: `PdfDictionary`
Writes the PDF representation of this `PdfDictionary` as an array of `byte` to the given `OutputStream`.

Overrides:
  `toPdf` in class `PdfStream`
Parameters:
  `writer` - for backwards compatibility
  `os` - the `OutputStream` to write the bytes to.
Throws:
  `java.io.IOException`
See Also:
  `PdfDictionary.toPdf(com.lowagie.text.pdf.PdfWriter, java.io.OutputStream)`