Я пытаюсь создать разрыв страницы в mPDF, но безуспешно, независимо от следования каждой возможной ручной инструкции, при текущей попытке с использованием этой информации:
https://mpdf.github.io/reference/html-control-tags/pagebreak.html
Я использую mPDF версии 8.0.2.
Моя текущая попытка выглядит следующим образом:
function pdf_generate_table_html($data)
{
$page_length = 40;
$pages = ceil(count($data) / $page_length);
$keys = array_keys($data[0]);
$html = '';
$counter = 0;
for ($i = 1; $i <= $pages; $i++) {
$slice = array_slice($data, $counter, $page_length, true);
$html .= '<table style="width: 100%; border: 1px solid #dddddd;">';
$html .= '<thead>';
$html .= '<tr>';
foreach($keys as $key) {
$html .= '<th class="content" style="padding: 8px; background-color: #333333; color: #ffffff;">' . $key . '</th>';
}
$html .= '</tr>';
$html .= '</thead>';
$html .= '<tbody>';
foreach($slice as $key => $entry) {
$html .= '<tr>';
foreach($entry as $value) {
$html .= '<td class="content" style="padding: 8px;">' . $value . '</td>';
}
$html .= '</tr>';
}
$html .= '</tbody>';
$html .= '</table>';
$html .= '<pagebreak>';
$counter += $page_length;
}
return $html;
}
Происходит следующее:
Без разрыва страницы и кода, который разбивает данные на отдельные таблицы, первая страница содержит заголовок, вторая страница содержит ВСЮ таблицу (и я хочу ее разделить ...).
При разрыве страницы первая страница пуста, вторая страница содержит заголовок, третья страница содержит 3 таблицы, правильно разделенные, но с измененным размером и размещением на одной странице, четвертая страница пуста.
Важно: Использование тегов <div>
не представляется возможным для меня, потому что я использую табличные данные, которые могут содержать любое количество столбцов, и я не могу найти способ заставить все столбцы бытьширина самого широкого элемента вколонка.
Есть идеи, что я делаю не так, пожалуйста?