TCPDF rollbackTransaction на записьHTMLCell

Я работаю в следующей ситуации с TCPDF:
пытаясь создать таблицу и обрезать ее только снизу, вычисляя значение Y на каждом writeHTMLCell

Сначала код:

// test the buffer with extra line
$this->pdf->writeHTMLCell($w=0, $h=0, $x='', $y='', $html_buffer.$row.'</table>', $border=0, $ln=1, $fill=1, $reseth=true, $align='', $autopadding=false);

if ($this->pdf->getY() < ($this->pdf->getPageHeight() - 100)) { // Note the less-than operator
// We might be able to add some more text, so undo that
$this->pdf->rollbackTransaction(true);
// And store the html
$html_buffer .= $row;
}else{
// We exceeded our limit
$this->pdf->rollbackTransaction(true);
// Write last known good table
$this->pdf->writeHTMLCell($w=0, $h=0, $x='', $y='', $html_buffer.'</table>', $border=0, $ln=1, $fill=0, $reseth=true, $align='', $autopadding=false);
// Add a new page
$this->pdf->AddPage();
// End this transaction
$this->pdf->commitTransaction();
// Start a new transaction
$this->pdf->startTransaction();
// Reset html buffer
$html_buffer = '<table>';
// Add line we couldn't fit on last page to html buffer
$html_buffer .= $row;
}

(получил это от TCPDF разбить HTML-таблицу на несколько страниц)

Но выходной-PDF показывает результаты первого writeHTMLCell тоже, который используется только для проверки значения Y.
Кажется, откат не работает?

вывод идет как:

row 1
row 1
row 2
row 1
row 2
row 3
row 1
row 2
row 3
row 4

какие-либо подсказки, где это идет не так, как надо?

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]