org.pdfbox.pdmodel.common

Class PDMemoryStream

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.pdfbox.pdmodel.common.PDStream

addCompression, createFromCOS, createInputStream, createOutputStream, getByteArray, getCOSObject, getDecodeParams, getFile, getFileDecodeParams, getFileFilters, getFilters, getInputStreamAsString, getLength, getMetadata, getPartiallyFilteredStream, getStream, setDecodeParams, setFile, setFileDecodeParams, setFileFilters, setFilters, setMetadata

Constructor Details

PDMemoryStream

public PDMemoryStream(byte[] buffer)
This will create a new PDStream object.
Parameters:
buffer - The data for this in memory stream.

Method Details

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 interface PDStream

createInputStream

public InputStream createInputStream()
            throws IOException
This will get a stream that can be read from.
Overrides:
createInputStream in interface PDStream
Returns:
An input stream that can be read from.

createOutputStream

public OutputStream createOutputStream()
            throws IOException
This will get a stream that can be written to.
Overrides:
createOutputStream in interface PDStream
Returns:
An output stream to write data to.

getByteArray

public byte[] getByteArray()
            throws IOException
This will copy the stream into a byte array.
Overrides:
getByteArray in interface PDStream
Returns:
The byte array of the filteredStream

getCOSObject

public COSBase getCOSObject()
Convert this standard java object to a COS object.
Specified by:
getCOSObject in interface COSObjectable
Overrides:
getCOSObject in interface PDStream
Returns:
The cos object that matches this Java object.

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.
Overrides:
getDecodeParams in interface PDStream
Returns:
The list of decode parameters.

getFile

public PDFileSpecification getFile()
This will get the file specification for this stream. This is only required for external files.
Overrides:
getFile in interface PDStream
Returns:
The file specification.

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 interface PDStream
Returns:
The list of decode parameters.

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 interface PDStream
Returns:
A list of all encoding filters to apply to this 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 interface PDStream
Returns:
A list of all encoding filters to apply to this stream.

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 interface PDStream
Returns:
The length of the filtered stream.

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 interface PDStream
Returns:
The metadata for this object.

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 interface PDStream
Parameters:
stopFilters - A list of filters to stop decoding at.
Returns:
A stream with decoded data.

getStream

public COSStream getStream()
Get the cos stream associated with this object.
Overrides:
getStream in interface PDStream
Returns:
The cos object that matches this Java object.

setDecodeParams

public void setDecodeParams(List decodeParams)
This will set the list of decode params.
Overrides:
setDecodeParams in interface PDStream
Parameters:
decodeParams - The list of decode params.

setFile

public void setFile(PDFileSpecification f)
Set the file specification.
Overrides:
setFile in interface PDStream
Parameters:
f - The file specification.

setFileDecodeParams

public void setFileDecodeParams(List decodeParams)
This will set the list of decode params.
Overrides:
setFileDecodeParams in interface PDStream
Parameters:
decodeParams - The list of decode params.

setFileFilters

public void setFileFilters(List filters)
This will set the filters that are part of this stream.
Overrides:
setFileFilters in interface PDStream
Parameters:
filters - The filters that are part of this stream.

setFilters

public void setFilters(List filters)
This will set the filters that are part of this stream.
Overrides:
setFilters in interface PDStream
Parameters:
filters - The filters that are part of this stream.

setMetadata

public void setMetadata(PDMetadata meta)
Set the metadata for this object. This can be null.
Overrides:
setMetadata in interface PDStream
Parameters:
meta - The meta data for this object.