Я реализовал решение Orbling, но не смог заставить его работать.Учитывая это, на данный момент я опубликую свое рабочее, но более хакерское решение и попытаюсь вернуться к Орблингу, если найду время.Я не буду принимать ни одного ответа в течение пары дней.
Мой основной подход состоял в том, чтобы заменить все теги h1-h6 (используя регулярное выражение) и добавить их к <tcpdf method="MaybeSkipPage" />
, который я реализовал, расширивКласс TCPDF.
В коде:
class MyPDF extends TCPDF {
public function MaybeSkipPage() {
if ($this->y > 0.75*$this->getPageHeight()) {
$this->AddPage();
}
}
}
$pdf = new MyPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$HTMLcontent = preg_replace('/(<[h|H][1-6])/', '<tcpdf method="MaybeSkipPage" />$1', $HTMLcontent);