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 TypeMethodDescriptionvoiddecode(InputStream compressedData, OutputStream result, COSDictionary options, int filterIndex) This will decode some compressed data.voidencode(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:
decodein 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:
encodein 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.
-