Class LZWDecoder
java.lang.Object
com.itextpdf.kernel.pdf.filters.LZWDecoder
A class for performing LZW decoding.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) int[](package private) int(package private) int(package private) int(package private) byte[](package private) int(package private) int(package private) byte[][](package private) int(package private) OutputStream -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddStringToTable(byte[] string) Add a new string to the string table.voidaddStringToTable(byte[] oldString, byte newString) Add a new string to the string table.byte[]composeString(byte[] oldString, byte newString) AppendnewStringto the end ofoldString.voiddecode(byte[] data, OutputStream uncompData) Method to decode LZW compressed data.intAttempt to get the next code.voidInitialize the string table.voidwriteString(byte[] string) Write out the string just uncompressed.
-
Field Details
-
stringTable
byte[][] stringTable -
data
byte[] data -
uncompData
OutputStream uncompData -
tableIndex
int tableIndex -
bitsToGet
int bitsToGet -
bytePointer
int bytePointer -
bitPointer
int bitPointer -
nextData
int nextData -
nextBits
int nextBits -
andTable
int[] andTable
-
-
Constructor Details
-
LZWDecoder
public LZWDecoder()Creates an LZWDecoder instance.
-
-
Method Details
-
decode
Method to decode LZW compressed data.- Parameters:
data- The compressed data.uncompData- Array to return the uncompressed data in.
-
initializeStringTable
public void initializeStringTable()Initialize the string table. -
writeString
public void writeString(byte[] string) Write out the string just uncompressed.- Parameters:
string- content to write to the uncompressed data
-
addStringToTable
public void addStringToTable(byte[] oldString, byte newString) Add a new string to the string table.- Parameters:
oldString- stored stringnewString- string to be appended to the stored string
-
addStringToTable
public void addStringToTable(byte[] string) Add a new string to the string table.- Parameters:
string- byte[] to store in the string table
-
composeString
public byte[] composeString(byte[] oldString, byte newString) AppendnewStringto the end ofoldString.- Parameters:
oldString- string be appended tonewString- string that is to be appended to oldString- Returns:
- combined string
-
getNextCode
public int getNextCode()Attempt to get the next code. Exceptions are caught to make this robust to cases wherein the EndOfInformation code has been omitted from a strip. Examples of such cases have been observed in practice.- Returns:
- next code
-