Не могу отобразить заголовок

Я пытаюсь сделать PDF документ с помощью mPdf с заголовком, но не повезло.

Вот мой код:

$mpdf = new \Mpdf\Mpdf();
$html = '<style>@page {
margin:10mm;
background-color: #4183c4;
}
body {
color:#ffffff;
font-size:20px;
}
</style>
<htmlpageheader>
    <div style="text-align: right">My document</div>
</htmlpageheader>
<div>Hello world!</div>';
$mpdf->WriteHTML($html);
$mpdf->AddPage();
$mpdf->WriteHTML('Hi againg');
$mpdf->Output(__DIR__ . '/pdf.pdf');

Я также попробовал:

$mpdf = new \Mpdf\Mpdf();
$html = '<style>@page {
margin:10mm;
background-color: #4183c4;
}
body {
color:#ffffff;
font-size:20px;
}
</style>
<div>Hello world!</div>';
$mpdf->SetHTMLHeader('<div style="text-align: right">My document</div>');
$mpdf->WriteHTML($html);
$mpdf->AddPage();
$mpdf->WriteHTML('Hi againg');
$mpdf->Output(__DIR__ . '/pdf.pdf');

1 ответ

Решение

@page Обработка селектора CSS в mPDF специфична и переписывает ваш заголовок (на пустой).

Переехать @page Правила CSS для body Селектор и установите поля страницы в конструкторе mPDF, заголовок появится.

$mpdf = new \Mpdf\Mpdf([
  'margin_left' => '10mm',
  'margin_right' => '10mm',
  'margin_top' => '10mm',
  'margin_bottom' => '10mm',
]);

$html = '<style>
body {
    background-color: #4183c4;
    color:#ffffff;
    font-size:20px;
}
</style>
<div>Hello world!</div>';

$mpdf->SetHTMLHeader('<div style="text-align: right">My document</div>');
$mpdf->WriteHTML($html);

$mpdf->AddPage();
$mpdf->WriteHTML('Hi againg');

$mpdf->Output(__DIR__ . '/pdf.pdf');
Другие вопросы по тегам