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, PdfEFStream, 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
`static int` | `BEST_COMPRESSION` A possible compression level.
`static int` | `BEST_SPEED` A possible compression level.
`protected boolean` | `compressed` is the stream compressed?
`protected int` | `compressionLevel` The level of compression.
`static int` | `DEFAULT_COMPRESSION` A possible compression level.
`(package private) static byte[]` | `ENDSTREAM`
`protected InputStream` | `inputStream`
`protected int` | `inputStreamLength`
`static int` | `NO_COMPRESSION` A possible compression level.
`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.
`void` | `flateCompress(int compressionLevel)` 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)` Writes the PDF representation of this `PdfDictionary` as an array of `byte` to the given `OutputStream`.
`String` | `toString()` Returns a string representation of this `PdfDictionary`.
`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

### DEFAULT_COMPRESSION

    public static final int DEFAULT_COMPRESSION

  A possible compression level.

  Since:
    2.1.3
  See Also:
    Constant Field Values

### NO_COMPRESSION

    public static final int NO_COMPRESSION

  A possible compression level.

  Since:
    2.1.3
  See Also:
    Constant Field Values

### BEST_SPEED

    public static final int BEST_SPEED

  A possible compression level.

  Since:
    2.1.3
  See Also:
    Constant Field Values

### BEST_COMPRESSION

    public static final int BEST_COMPRESSION

  A possible compression level.

  Since:
    2.1.3
  See Also:
    Constant Field Values

### compressed

    protected boolean compressed

  is the stream compressed?

### compressionLevel

    protected int compressionLevel

  The level of compression.

  Since:
    2.1.3

### 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 constructor `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.

### flateCompress

    public void flateCompress(int compressionLevel)

  Compresses the stream.

  Parameters:
    `compressionLevel` - the compression level (0 = best speed, 9 = best compression, -1 is default)
  Since:
    2.1.3

### 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`
  Writes the PDF representation of this `PdfDictionary` as an array of `byte` to the given `OutputStream`.

  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: `PdfDictionary`
  Returns a string representation of this `PdfDictionary`. The string doesn't contain any of the content of this dictionary. Rather the string "dictionary" is returned, possibly followed by the type of this `PdfDictionary`, if set.

  Overrides:
    `toString` in class `PdfDictionary`
  Returns:
    the string representation of this `PdfDictionary`
  See Also:
    `PdfObject.toString()`

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