org.apache.pdfbox.pdmodel.common
Class PDMemoryStream

java.lang.Object
  extended by org.apache.pdfbox.pdmodel.common.PDStream
      extended by org.apache.pdfbox.pdmodel.common.PDMemoryStream
All Implemented Interfaces:
COSObjectable

public class PDMemoryStream
extends PDStream

A PDStream represents a stream in a PDF document. Streams are tied to a single PDF document.

Version:
$Revision: 1.2 $
Author:
Ben Litchfield

Constructor Summary
PDMemoryStream(byte[] buffer)
          This will create a new PDStream object.
 
Method Summary
 void addCompression()
          If there are not compression filters on the current stream then this will add a compression filter, flate compression for example.
 InputStream createInputStream()
          This will get a stream that can be read from.
 OutputStream createOutputStream()
          This will get a stream that can be written to.
 byte[] getByteArray()
          This will copy the stream into a byte array.
 COSBase getCOSObject()
          Convert this standard java object to a COS object.
 List getDecodeParams()
          Get the list of decode parameters.
 PDFileSpecification getFile()
          This will get the file specification for this stream.
 List getFileDecodeParams()
          Get the list of decode parameters.
 List getFileFilters()
          This will get the list of filters that are associated with this stream.
 List getFilters()
          This will get the list of filters that are associated with this stream.
 int getLength()
          This will get the length of the filtered/compressed stream.
 PDMetadata getMetadata()
          Get the metadata that is part of the document catalog.
 InputStream getPartiallyFilteredStream(List stopFilters)
          This will get a stream with some filters applied but not others.
 COSStream getStream()
          Get the cos stream associated with this object.
 void setDecodeParams(List decodeParams)
          This will set the list of decode params.
 void setFile(PDFileSpecification f)
          Set the file specification.
 void setFileDecodeParams(List decodeParams)
          This will set the list of decode params.
 void setFileFilters(List filters)
          This will set the filters that are part of this stream.
 void setFilters(List filters)
          This will set the filters that are part of this stream.
 void setMetadata(PDMetadata meta)
          Set the metadata for this object.
 
Methods inherited from class org.apache.pdfbox.pdmodel.common.PDStream
createFromCOS, getDecodedStreamLength, getDecodeParms, getInputStreamAsString, setDecodedStreamLength, setDecodeParms
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PDMemoryStream

public PDMemoryStream(byte[] buffer)
This will create a new PDStream object.

Parameters:
buffer - The data for this in memory stream.
Method Detail

addCompression

public void addCompression()
If there are not compression filters on the current stream then this will add a compression filter, flate compression for example.

Overrides:
addCompression in class PDStream

getCOSObject

public COSBase getCOSObject()
Convert this standard java object to a COS object.

Specified by:
getCOSObject in interface COSObjectable
Overrides:
getCOSObject in class PDStream
Returns:
The cos object that matches this Java object.

createOutputStream

public OutputStream createOutputStream()
                                throws IOException
This will get a stream that can be written to.

Overrides:
createOutputStream in class PDStream
Returns:
An output stream to write data to.
Throws:
IOException - If an IO error occurs during writing.

createInputStream

public InputStream createInputStream()
                              throws IOException
This will get a stream that can be read from.

Overrides:
createInputStream in class PDStream
Returns:
An input stream that can be read from.
Throws:
IOException - If an IO error occurs during reading.

getPartiallyFilteredStream

public InputStream getPartiallyFilteredStream(List stopFilters)
                                       throws IOException
This will get a stream with some filters applied but not others. This is useful when doing images, ie filters = [flate,dct], we want to remove flate but leave dct

Overrides:
getPartiallyFilteredStream in class PDStream
Parameters:
stopFilters - A list of filters to stop decoding at.
Returns:
A stream with decoded data.
Throws:
IOException - If there is an error processing the stream.

getStream

public COSStream getStream()
Get the cos stream associated with this object.

Overrides:
getStream in class PDStream
Returns:
The cos object that matches this Java object.

getLength

public int getLength()
This will get the length of the filtered/compressed stream. This is readonly in the PD Model and will be managed by this class.

Overrides:
getLength in class PDStream
Returns:
The length of the filtered stream.

getFilters

public List getFilters()
This will get the list of filters that are associated with this stream. Or null if there are none.

Overrides:
getFilters in class PDStream
Returns:
A list of all encoding filters to apply to this stream.

setFilters

public void setFilters(List filters)
This will set the filters that are part of this stream.

Overrides:
setFilters in class PDStream
Parameters:
filters - The filters that are part of this stream.

getDecodeParams

public List getDecodeParams()
                     throws IOException
Get the list of decode parameters. Each entry in the list will refer to an entry in the filters list.

Returns:
The list of decode parameters.
Throws:
IOException - if there is an error retrieving the parameters.

setDecodeParams

public void setDecodeParams(List decodeParams)
This will set the list of decode params.

Parameters:
decodeParams - The list of decode params.

getFile

public PDFileSpecification getFile()
This will get the file specification for this stream. This is only required for external files.

Overrides:
getFile in class PDStream
Returns:
The file specification.

setFile

public void setFile(PDFileSpecification f)
Set the file specification.

Overrides:
setFile in class PDStream
Parameters:
f - The file specification.

getFileFilters

public List getFileFilters()
This will get the list of filters that are associated with this stream. Or null if there are none.

Overrides:
getFileFilters in class PDStream
Returns:
A list of all encoding filters to apply to this stream.

setFileFilters

public void setFileFilters(List filters)
This will set the filters that are part of this stream.

Overrides:
setFileFilters in class PDStream
Parameters:
filters - The filters that are part of this stream.

getFileDecodeParams

public List getFileDecodeParams()
                         throws IOException
Get the list of decode parameters. Each entry in the list will refer to an entry in the filters list.

Overrides:
getFileDecodeParams in class PDStream
Returns:
The list of decode parameters.
Throws:
IOException - if there is an error retrieving the parameters.

setFileDecodeParams

public void setFileDecodeParams(List decodeParams)
This will set the list of decode params.

Overrides:
setFileDecodeParams in class PDStream
Parameters:
decodeParams - The list of decode params.

getByteArray

public byte[] getByteArray()
                    throws IOException
This will copy the stream into a byte array.

Overrides:
getByteArray in class PDStream
Returns:
The byte array of the filteredStream
Throws:
IOException - When getFilteredStream did not work

getMetadata

public PDMetadata getMetadata()
Get the metadata that is part of the document catalog. This will return null if there is no meta data for this object.

Overrides:
getMetadata in class PDStream
Returns:
The metadata for this object.

setMetadata

public void setMetadata(PDMetadata meta)
Set the metadata for this object. This can be null.

Overrides:
setMetadata in class PDStream
Parameters:
meta - The meta data for this object.


Copyright © 2002-2010 The Apache Software Foundation. All Rights Reserved.