When printing a two columns document, where you don't know how long the text is, I'm doing in this way:
-> setup right margin
-> print left column
-> goto first page
-> resetup right margin to default (1 cm)
-> setup the right margin
-> print right column
Doing in this way, it occours that right column text may change font style during an autopagebreak.
It seems that the font style in the right column assume the value of the last printed text in the LEFT column.
Thanks
testcase
To print multiple columns with TCPDF, the methods Write() and WriteHTML() cannot be used directly.
You must use the Multicell() or WriteHTMLCell() instead, as explained on example 7.
If you want use multiple WriteHTMLCell() calls on the same column you can use the approach below:
// set font
$pdf->SetFont("times", "", 12);
// create columns content
$left_column_text = "left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column left column";
$right_column_text = "right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column right column";
// set columns width
$first_column_width = 80;
$second_column_width = 80;
// get current margins
$margins = $pdf->getMargins();
// get current vertical position
$current_y_position = $pdf->GetY();
// write the first column
$pdf->writeHTMLCell($first_column_width, 0, 0, 0, $left_column_text, 1, 1, 0, true, 'J');
$pdf->writeHTMLCell($first_column_width, 0, 0, 0, $left_column_text, 1, 1, 0, true, 'J');
$pdf->writeHTMLCell($first_column_width, 0, 0, 0, $left_column_text, 1, 1, 0, true, 'J');
$pdf->writeHTMLCell($first_column_width, 0, 0, 0, $left_column_text, 1, 1, 0, true, 'J');
// go back to the first page
$pdf->SetPage(1);
// set the left margin
$pdf->SetLeftMargin($first_column_width + $margins['left']);
$pdf->SetY($current_y_position);
// write the second column
$pdf->writeHTMLCell($second_column_width, 0, 0, 0, $right_column_text, 1, 1, 0, true, 'J');
$pdf->writeHTMLCell($second_column_width, 0, 0, 0, $right_column_text, 1, 1, 0, true, 'J');
$pdf->writeHTMLCell($second_column_width, 0, 0, 0, $right_column_text, 1, 1, 0, true, 'J');
$pdf->writeHTMLCell($second_column_width, 0, 0, 0, $right_column_text, 1, 1, 0, true, 'J');
// reset pointer to the last page
$pdf->lastPage();
// reset margin
$pdf->SetLeftMargin($margins['left']);
testcase with MultiCell() and no Write()
please considerate the new testcase uploaded now.
It seems that I followed your instruction.
Or still I missed something?
Thanks and sorry for insistence.
correct double column implementation
Seems that you are still using the wrong approach.
Please check the attachment test_double_column3.php for correct implementation.