Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.lowagie.text.pdf
Class PdfStream

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

Direct Known Subclasses:
  BaseFont.StreamFont, PdfContents, PdfFormXObject, PdfICCBased, PdfImage, PdfPattern, PRStream

    public class PdfStream

extends PdfDictionary

`PdfStream` is the Pdf stream object.

A stream, like a string, is a sequence of characters. However, an application can read a small portion of a stream at a time, while a string must be read in its entirety. For this reason, objects with potentially large amounts of data, such as images and page descriptions, are represented as streams.
A stream consists of a dictionary that describes a sequence of characters, followed by the keyword stream, followed by zero or more lines of characters, followed by the keyword endstream.
All streams must be `PdfIndirectObject`s. The stream dictionary must be a direct object. The keyword stream that follows the stream dictionary should be followed by a carriage return and linefeed or just a linefeed.
Remark: In this version only the FLATEDECODE-filter is supported.
This object is described in the 'Portable Document Format Reference Manual version 1.7' section 3.2.7 (page 60-63).

See Also:
  `PdfObject`, `PdfDictionary`

Field Summary
`protected boolean` | `compressed` is the stream compressed?
`(package private) static byte[]` | `ENDSTREAM`
`protected InputStream` | `inputStream`
`protected int` | `inputStreamLength`
`protected int` | `rawLength`
`protected PdfIndirectReference` | `ref`
`(package private) static int` | `SIZESTREAM`
`(package private) static byte[]` | `STARTSTREAM`
`protected ByteArrayOutputStream` | `streamBytes`
`protected PdfWriter` | `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
`protected` | `PdfStream()` Constructs a `PdfStream`-object.
`` | `PdfStream(byte[] bytes)` Constructs a `PdfStream`-object.
`` | `PdfStream(InputStream inputStream, PdfWriter writer)` Creates an efficient stream.

Method Summary
`void` | `flateCompress()` Compresses the stream.
`int` | `getRawLength()` Gets the raw length of the stream.
`protected void` | `superToPdf(PdfWriter writer, OutputStream os)`
`void` | `toPdf(PdfWriter writer, OutputStream os)` Returns the PDF representation of this `PdfDictionary`.
`String` | `toString()` Returns the `String`-representation of this `PdfObject`.
`void` | `writeContent(OutputStream os)` Writes the data content to an `OutputStream`.
`void` | `writeLength()` Writes the stream length to the `PdfWriter`.

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, getBytes, 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

### compressed

    protected boolean compressed

  is the stream compressed?

### streamBytes

    protected ByteArrayOutputStream streamBytes

### inputStream

    protected InputStream inputStream

### ref

    protected PdfIndirectReference ref

### inputStreamLength

    protected int inputStreamLength

### writer

    protected PdfWriter writer

### rawLength

    protected int rawLength

### STARTSTREAM

    static final byte[] STARTSTREAM

### ENDSTREAM

    static final byte[] ENDSTREAM

### SIZESTREAM

    static final int SIZESTREAM

Constructor Detail

### PdfStream

    public PdfStream(byte[] bytes)

  Constructs a `PdfStream`-object.

  Parameters:
    `bytes` - content of the new `PdfObject` as an array of `byte`.

### PdfStream

    public PdfStream(InputStream inputStream,
                     PdfWriter writer)

  Creates an efficient stream. No temporary array is ever created. The `InputStream` is totally consumed but is not closed. The general usage is:

       InputStream in = ...;
       PdfStream stream = new PdfStream(in, writer);
       stream.flateCompress();
       writer.addToBody(stream);
       stream.writeLength();
       in.close();

  Parameters:
    `inputStream` - the data to write to this stream
    `writer` - the `PdfWriter` for this stream

### PdfStream

    protected PdfStream()

  Constructs a `PdfStream`-object.

Method Detail

### writeLength

    public void writeLength()
                     throws IOException

  Writes the stream length to the `PdfWriter`.

  This method must be called and can only be called if the contructor `PdfStream(InputStream,PdfWriter)` is used to create the stream.

  Throws:
    `IOException` - on error
  See Also:
    `PdfStream(InputStream,PdfWriter)`

### getRawLength

    public int getRawLength()

  Gets the raw length of the stream.

  Returns:
    the raw length of the stream

### flateCompress

    public void flateCompress()

  Compresses the stream.

### superToPdf

    protected void superToPdf(PdfWriter writer,
                              OutputStream os)
                       throws IOException

  Throws:
    `IOException`

### toPdf

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

  Description copied from class: `PdfDictionary`
  Returns the PDF representation of this `PdfDictionary`.

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

### writeContent

    public void writeContent(OutputStream os)
                      throws IOException

  Writes the data content to an `OutputStream`.

  Parameters:
    `os` - the destination to write to
  Throws:
    `IOException` - on error

### toString

    public String toString()

  Description copied from class: `PdfObject`
  Returns the `String`-representation of this `PdfObject`.

  Overrides:
    `toString` in class `PdfDictionary`
  Returns:
    a `String`
  See Also:
    `PdfObject.toString()`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD