org.pdfbox.filter
Class RunLengthDecodeFilter

java.lang.Object
  extended byorg.pdfbox.filter.RunLengthDecodeFilter
All Implemented Interfaces:
Filter

public class RunLengthDecodeFilter
extends Object
implements Filter

This is a filter for the RunLength Decoder. From the PDF Reference

 The RunLengthDecode filter decodes data that has been encoded in a simple
 byte-oriented format based on run length. The encoded data is a sequence of
 runs, where each run consists of a length byte followed by 1 to 128 bytes of data. If
 the length byte is in the range 0 to 127, the following length + 1 (1 to 128) bytes
 are copied literally during decompression. If length is in the range 129 to 255, the
 following single byte is to be copied 257 ? length (2 to 128) times during decompression.
 A length value of 128 denotes EOD.
 
 The compression achieved by run-length encoding depends on the input data. In
 the best case (all zeros), a compression of approximately 64:1 is achieved for long
 files. The worst case (the hexadecimal sequence 00 alternating with FF) results in
 an expansion of 127:128.
 

Version:
$Revision: 1.5 $
Author:
Ben Litchfield

Constructor Summary
RunLengthDecodeFilter()
          Constructor.
 
Method Summary
 void decode(InputStream compressedData, OutputStream result, COSDictionary options)
          This will decode some compressed data.
 void encode(InputStream rawData, OutputStream result, COSDictionary options)
          This will encode some data.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RunLengthDecodeFilter

public RunLengthDecodeFilter()
Constructor.

Method Detail

decode

public void decode(InputStream compressedData,
                   OutputStream result,
                   COSDictionary options)
            throws IOException
This will decode some compressed data.

Specified by:
decode in interface Filter
Parameters:
compressedData - The compressed byte stream.
result - The place to write the uncompressed byte stream.
options - The options to use to encode the data.
Throws:
IOException - If there is an error decompressing the stream.

encode

public void encode(InputStream rawData,
                   OutputStream result,
                   COSDictionary options)
            throws IOException
This will encode some data.

Specified by:
encode in interface Filter
Parameters:
rawData - The raw data to encode.
result - The place to write to encoded results to.
options - The options to use to encode the data.
Throws:
IOException - If there is an error compressing the stream.