Мы используем плагин mPDF на веб-сайте WordPress, который отлично работает, за исключением того, что мы не можем заставить простую нумерацию страниц работать в нижнем колонтитуле.Мы ссылались на основную документацию (https://mpdf.github.io/paging/page-numbering.html) и безуспешно пробовали различные примеры. Когда мы добавляем $mpdf->setFooter('{PAGENO}');
, мы видим, что в PDF появляется строка нижнего колонтитула, но номер страницы отсутствует. Вот наша полная функция:
function savePDFFile($fileName, $page) {
ob_start();
include_once($_SERVER['DOCUMENT_ROOT'] . '/mpdf/mpdf.php');
$postdata = http_build_query(
array(
'postSessionData' => $_SESSION[$page],
)
);
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
try {
$context = stream_context_create($opts);
$mpdf = new mPDF('utf-8', 'Letter', 0, '', 12, 11, 13, 9, 12, 13);
$mpdf->ignore_invalid_utf8 = true;
$mpdf->autoLangToFont = true;
$mpdf->setAutoTopMargin = 'stretch';
$mpdf->setAutoBottomMargin = 'stretch';
$mpdf->setFooter('{PAGENO}');
$mpdf->WriteHTML('');
$html = file_get_contents('http://' . $_SERVER['SERVER_NAME'] . '/print-pdf-html/' . $page . '.php', false, $context);
ob_clean();
$mpdf->autoLangToFont = true;
$mpdf->WriteHTML(utf8_encode($html));
$mpdf->Output('applications/' . $fileName . '.pdf', 'F');
} catch (Exception $e) {
file_put_contents(get_template_directory() . '/error-create-pdf.txt', print_r($e, true));
}
}