public function addColumn($column, array $definition) {
        // set new column with default definitions. Note that [ln] is always
        // set to FALSE. When addBody(), TRUE will be setted for the last
        // column.
        $this->columnDefinition[$column] = array_merge([
            'isMultiLine' => false,
            'isMultiLineHeader' => false,
            'isImage' => false,
            'renderer' => null,
            'headerRenderer' => null,
            'header' => '',
            'drawFn' => null,
            'drawHeaderFn' => null,
            // cell
            'width' => 10,
            'height' => null,
            'border' => 0,
            'ln' => false,
            'align' => 'L',
            'fill' => false,
            'link' => '',
            'stretch' => 0,
            'ignoreHeight' => false,
            'calign' => 'T',
            'valign' => 'M',
            // multiCell
            'x' => '',
            'y' => '',
            'reseth' => true,
            'isHtml' => false,
            'maxh' => null,
            'autoPadding' => true,
            'fitcell' => false,
            // getNumLines
            'cellPadding' => ''
        ], $this->defaultColumnDefinition, $definition);

        if ($this->columnDefinition[$column]['height'] === null) {
            $this->columnDefinition[$column]['height'] = $this->getColumnHeight();
        }

        $this->trigger(self::EV_COLUMN_ADDED, [
            $column,
            $this->columnDefinition[$column]
        ]);
        return $this;
    }
public function addColumn($column, array $definition) {
        // set new column with default definitions. Note that [ln] is always
        // set to FALSE. When addBody(), TRUE will be setted for the last
        // column.
        $this->columnDefinition[$column] = array_merge([
            'isMultiLine' => false,
            'isMultiLineHeader' => false,
            'isImage' => false,
            'renderer' => null,
            'headerRenderer' => null,
            'header' => '',
            'drawFn' => null,
            'drawHeaderFn' => null,
            // cell
            'width' => 10,
            'height' => null,
            'border' => 0,
            'ln' => false,
            'align' => 'L',
            'fill' => false,
            'link' => '',
            'stretch' => 0,
            'ignoreHeight' => false,
            'calign' => 'T',
            'valign' => 'M',
            // multiCell
            'x' => '',
            'y' => '',
            'reseth' => true,
            'isHtml' => false,
            'maxh' => null,
            'autoPadding' => true,
            'fitcell' => false,
            // getNumLines
            'cellPadding' => ''
        ], $this->defaultColumnDefinition, $definition);

        if ($this->columnDefinition[$column]['height'] === null) {
            $this->columnDefinition[$column]['height'] = $this->getColumnHeight();
        }

        $this->trigger(self::EV_COLUMN_ADDED, [
            $column,
            $this->columnDefinition[$column]
        ]);
        return $this;
    }
public function addColumn ( $ column , array $ definition ) { // set new column with default definitions. Note that [ln] is always // set to FALSE. When addBody(), TRUE will be setted for the last // column. $ this -> columnDefinition [ $ column ] = array_merge ( [ 'isMultiLine' => false , 'isMultiLineHeader' => false , 'isImage' => false , 'renderer' => null , 'headerRenderer' => null , 'header' => '' , 'drawFn' => null , 'drawHeaderFn' => null , // cell 'width' => 10 , 'height' => null , 'border' => 0 , 'ln' => false , 'align' => 'L' , 'fill' => false , 'link' => '' , 'stretch' => 0 , 'ignoreHeight' => false , 'calign' => 'T' , 'valign' => 'M' , // multiCell 'x' => '' , 'y' => '' , 'reseth' => true , 'isHtml' => false , 'maxh' => null , 'autoPadding' => true , 'fitcell' => false , // getNumLines 'cellPadding' => '' ] , $ this -> defaultColumnDefinition , $ definition ) ; if ( $ this -> columnDefinition [ $ column ] [ 'height' ] === null ) { $ this -> columnDefinition [ $ column ] [ 'height' ] = $ this -> getColumnHeight ( ) ; } $ this -> trigger ( self :: EV_COLUMN_ADDED , [ $ column , $ this -> columnDefinition [ $ column ] ] ) ; return $ this ; }
Define a column. Config array is mostly what we find in \TCPDF Cell and
MultiCell.

Frequently used Cell and MultiCell options:
<ul>
<li><i>callable</i> <b>renderer</b>: renderer function for datas.
Recieve (TcTable $table, $data, $row, $column, $height). The last
parameter is TRUE when called during height calculation. This method
is called twice, one time for cell height calculation and one time
for data drawing.</li>
<li><i>callable</i> <b>headerRenderer</b>: renderer function for
headers. Recieve (TcTable $table, $data, $row, $column)</li>
<li><i>string</i> <b>header</b>: column header text</li>
<li><i>float</i> <b>width</b>: column width</li>
<li><i>string</i> <b>border</b>: cell border (LTBR)</li>
<li><i>string</i> <b>align</b>: text horizontal align (LCR)</li>
<li><i>string</i> <b>valign</b>: text vertical align (TCB)</li>
<li><i>float</i> <b>height</b>: min height for cell (default to
{@link setColumnHeight()}</li>
</ul>

MultiCell options:
<ul>
<li><i>bool</i> <b>isMultiLine</b>: true tell this is a multiline
column</li>
<li><i>bool</i> <b>isMultiLineHeader</b>: true tell this is a header
multiline</li>
<li><i>bool</i> <b>isHtml</b>: true to tell that this is HTML
content</li>
</ul>

All other options available:
<ul>
<li><i>callable</i> <b>drawFn</b>: a callable function that will draw
the cell/multicell/image or anything else. The func receive as args
(TcTable $table, mixed $data, array $columnDefinition,
string $column, array|object $row)</li>
<li><i>callable</i> <b>drawHeaderFn</b>: a callable function that
will draw the cell/multicell/image or anything else. The func receive
as args (TcTable $table, mixed $data, array $columnDefinition,
string $column, array|object $row)</li>
<li><i>bool</i> <b>ln</b>: managed by TcTable. This option is
ignored.</li>
<li><i>bool</i> <b>fill</b>: see doc {@link \TCPDF::Cell}</li>
<li><i>string</i> <b>link</b>: see doc {@link \TCPDF::Cell}</li>
<li><i>int</i> <b>stretch</b>: see doc {@link \TCPDF::Cell}</li>
<li><i>bool</i> <b>ignoreHeight</b>: see doc
{@link \TCPDF::Cell}</li>
<li><i>string</i> <b>calign</b>: see doc {@link \TCPDF::Cell}</li>
<li><i>mixed</i> <b>x</b>: see doc {@link \TCPDF::MultiCell}</li>
<li><i>mixed</i> <b>y</b>: see doc {@link \TCPDF::MultiCell}</li>
<li><i>bool</i> <b>reseth</b>: see doc {@link \TCPDF::MultiCell}</li>
<li><i>float</i> <b>maxh</b>: see doc {@link \TCPDF::MultiCell}</li>
<li><i>bool</i> <b>autoPadding</b>: see doc
{@link \TCPDF::MultiCell}</li>
<li><i>bool</i> <b>fitcell</b>: see doc
{@link \TCPDF::MultiCell}</li>
<li><i>string</i> <b>cellPadding</b>: see doc
{@link \TCPDF::getNumLines}</li>
</ul>

@param string $column
@param array $definition
@return TcTable
Define a column . Config array is mostly what we find in \ TCPDF Cell and MultiCell .