Как установить разрыв страницы в MPDF - PullRequest
0 голосов
/ 04 ноября 2019

Я пытаюсь создать разрыв страницы в 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;
}

Происходит следующее:

  1. Без разрыва страницы и кода, который разбивает данные на отдельные таблицы, первая страница содержит заголовок, вторая страница содержит ВСЮ таблицу (и я хочу ее разделить ...).

  2. При разрыве страницы первая страница пуста, вторая страница содержит заголовок, третья страница содержит 3 таблицы, правильно разделенные, но с измененным размером и размещением на одной странице, четвертая страница пуста.

Важно: Использование тегов <div> не представляется возможным для меня, потому что я использую табличные данные, которые могут содержать любое количество столбцов, и я не могу найти способ заставить все столбцы бытьширина самого широкого элемента вколонка.

Есть идеи, что я делаю не так, пожалуйста?

...