setasign\SetaPDF2\Core\Filter

Lzw Class for handling LZW compression

File: /SetaPDF v2/Core/Filter/Lzw.php
Old class name (alias): \SetaPDF_Core_Filter_Lzw

Class hierarchy

Implements

Summary

Properties

$_andTable

protected array Lzw::$_andTable = array(...)

$_bitsPerComponent

protected int Predictor::$_bitsPerComponent = 8

$_bitsToGet

protected int Lzw::$_bitsToGet = 9

$_bytePointer

protected Lzw::$_bytePointer

$_colors

protected int Predictor::$_colors = 1

$_columns

protected int Predictor::$_columns = 1

$_data

protected string Lzw::$_data

$_dataLength

protected int Lzw::$_dataLength = 0

$_nextBits

protected int Lzw::$_nextBits = 0

$_nextData

protected int Lzw::$_nextData = 0

$_predictor

protected int Predictor::$_predictor = 1

$_sTable

protected array Lzw::$_sTable = array()

$_tIdx

protected Lzw::$_tIdx

$alwaysWritePredictorByte

Whether or not to only write algorithm byte if predictor value is 15.

If set to true, the algorithm byte is written at the beginning of every line for all PNG predictors.

If set to false, this byte is only written for optimum png compression, which can vary the compression algorithm for each row.


Methods

__construct()

public Predictor::__construct (
int $predictor = null,
int $colors = null,
int $bitsPerComponent = null,
int $columns = null
)

The constructor.

Parameters
$predictor : int
 
$colors : int
 
$bitsPerComponent : int
 
$columns : int
 

_addStringToTable()

protected Lzw::_addStringToTable (
string $oldString,
string $newString = ''
): void

Add a new string to the string table.

Parameters
$oldString : string
 
$newString : string
 

_decodePng()

protected Predictor::_decodePng (
string $data
): string

Decode png predictors.

Parameters
$data : string
 
Exceptions

Throws Exception

_getNextCode()

protected Lzw::_getNextCode (
void
): int

Returns the next 9, 10, 11 or 12 bits.

_initsTable()

protected Lzw::_initsTable (
void
): void

Initialize the string table.

_paethPredictor()

protected Predictor::_paethPredictor (
int|float $left,
int|float $above,
int|float $upperLeft
): int|float

Value prediction using the Alan W. Paeth algorithm.

Parameters
$left : int|float

The value to the left of the processed data entry.

$above : int|float

The value above the processed data entry.

$upperLeft : int|float

The value to the upper left of the processed data entry.

Return Values

Returns the prediction value according to the Peath algorithm

decode()

public Lzw::decode (
string $data
): string

Method to decode LZW compressed data.

Parameters
$data : string

The compressed data

Return Values

The uncompressed data

Exceptions

Throws Exception

Throws \setasign\SetaPDF2\NotImplementedException