Package org.apache.pdfbox.filter
Class RunLengthDecodeFilter
- java.lang.Object
-
- org.apache.pdfbox.filter.RunLengthDecodeFilter
-
- All Implemented Interfaces:
Filter
public class RunLengthDecodeFilter extends java.lang.Object implements Filter
This is a filter for the RunLength Decoder. From the PDF ReferenceThe 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.6 $
- Author:
- Ben Litchfield
-
-
Constructor Summary
Constructors Constructor Description RunLengthDecodeFilter()
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
decode(java.io.InputStream compressedData, java.io.OutputStream result, COSDictionary options, int filterIndex)
This will decode some compressed data.void
encode(java.io.InputStream rawData, java.io.OutputStream result, COSDictionary options, int filterIndex)
This will encode some data.
-
-
-
Method Detail
-
decode
public void decode(java.io.InputStream compressedData, java.io.OutputStream result, COSDictionary options, int filterIndex) throws java.io.IOException
This will decode some compressed data.- Specified by:
decode
in interfaceFilter
- Parameters:
compressedData
- The compressed byte stream.result
- The place to write the uncompressed byte stream.options
- The options to use to encode the data.filterIndex
- The index to the filter being decoded.- Throws:
java.io.IOException
- If there is an error decompressing the stream.
-
encode
public void encode(java.io.InputStream rawData, java.io.OutputStream result, COSDictionary options, int filterIndex) throws java.io.IOException
This will encode some data.- Specified by:
encode
in interfaceFilter
- 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.filterIndex
- The index to the filter being encoded.- Throws:
java.io.IOException
- If there is an error compressing the stream.
-
-