номер страницы в laravel dom pdf

Я использую фреймворк laravel в php.

Я создал плагин, используя этот barryvdh/laravel-dompdf

И теперь мой вопрос: как создать номер страницы для отдельной страницы в pdf, например, страницу 1 и страницу 2, как это в barryvdh/laravel-dompdf?

<?php
require_once("dompdf_config.inc.php");

$html =
  '<html><body>'.
  '<p>Put your html here, or generate it with your favourite '.
  'templating system.</p>'.
  '</body></html>';

$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("sample.pdf");

?>

person Question User    schedule 10.07.2015    source источник
comment
Какой код у вас сейчас есть и что вы пробовали?   -  person gabe3886    schedule 10.07.2015
comment
приведенный выше код работает нормально, но я не могу получить номер страницы pdf   -  person Question User    schedule 10.07.2015
comment
Пакет barryvdh/laravel-dompdf — это всего лишь оболочка для dompdf, вы читали исходную документацию по dompdf?   -  person Jeemusu    schedule 10.07.2015
comment
github.com/dompdf/dompdf/wiki   -  person Jeemusu    schedule 10.07.2015
comment
возможность использовать номер страницы в документе @Jeemusu   -  person Question User    schedule 10.07.2015


Ответы (1)


Для подсчета страниц вы можете использовать счетчики CSS.

<html>
<head>
  <style>
  .page-num:before { content: counter(page); }
  </style>
</head>
<body>
  <p>Page <span class="page-num"></span></p>
</body>
</html>

К сожалению, dompdf еще не поддерживает общее количество страниц с помощью счетчиков (для текста, похожего на «страница 1 из 3»). Для этого вам придется использовать скрипт.

<?php
require_once("dompdf_config.inc.php");

$html = '...';

$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();

$pdf = $dompdf->get_canvas()->get_cpdf();
$x = 10; // from left
$y = 10; // from bottom
$text = "Page {PAGE_NUM} of {PAGE_NUM}"; // {PAGE_NUM} and {PAGE_COUNT} are placeholders populated by dompdf
$font = Font_Metrics::get_font("arial", "normal");
$size = "10"; // in pt
$color = array(.3, .3, .3); // rgb, valid values are between 0 and 1
$pdf->page_text($x, $y, $text, $font, $size);

$dompdf->stream("sample.pdf");
?>

Примечание. Приведенный выше фрагмент скрипта относится к версии 0.6.x, использующей серверную часть CPDF.

person BrianS    schedule 20.07.2015
comment
Обратите внимание, что для версии ›= 0.7 вы должны использовать решение Денниса Амелинга. - person Amin NAIRI; 25.10.2017