Я использую mpdf для создания файлов PDF из данных, извлеченных из базы данных. В pdf есть три раздела, которые мне нужно отобразить в оглавлении с номером страницы, на которой они появляются. Они могут появляться на отдельной странице или на одной странице, а также, когда данные слишком короткие. Ниже мой код в настоящее время использует:
$mpdf = new \Mpdf\Mpdf();
$mpdf->SetFont('avenirnext');
$mpdf->SetTitle($title);
$mpdf->SetAuthor('Blavatnik');
$mpdf->WriteHTML($stylesheet, 1);
$mpdf->WriteHTML($stylesheet2, 1);
$mpdf->WriteHTML($stylesheet3, 1);
$mpdf->setAutoTopMargin = 'stretch';
$mpdf->SetHtmlHeader($header, 'OE');
$mpdf->SetHTMLFooter($footer, 'OE');
$mpdf->AddPage('', // L - landscape, P - portrait
'', '', '', '', 20, // margin_left
20, // margin right
5, // margin top
25, // margin bottom
10, // margin header
10); // margin footer
$mpdf->WriteHTML($html);
$mpdf->Output($title . '.pdf', 'd');
Мне нужно отобразить оглавление на первой странице, и у него также есть дизайн, поэтому я думаю, что это должно быть сделано через HTML, как показано в примере ниже:
https://mpdf.github.io/what-else-can-i-do/table-of-contents.html
Задача ещё не решена.
Других решений пока нет …