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
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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)`