Package org.apache.pdfbox.filter
Class RunLengthDecodeFilter
java.lang.Object
org.apache.pdfbox.filter.RunLengthDecodeFilter
- All Implemented Interfaces:
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.6 $
- Author:
- Ben Litchfield
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
decode
(InputStream compressedData, OutputStream result, COSDictionary options, int filterIndex) This will decode some compressed data.void
encode
(InputStream rawData, OutputStream result, COSDictionary options, int filterIndex) This will encode some data.
-
Constructor Details
-
RunLengthDecodeFilter
public RunLengthDecodeFilter()Constructor.
-
-
Method Details
-
decode
public void decode(InputStream compressedData, OutputStream result, COSDictionary options, int filterIndex) throws 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:
IOException
- If there is an error decompressing the stream.
-
encode
public void encode(InputStream rawData, OutputStream result, COSDictionary options, int filterIndex) throws 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:
IOException
- If there is an error compressing the stream.
-