Например Page 1 of 5
.
В Интернете есть пример того, как чтобы получить часть Page 1
, но не часть of 5
. Это оно:
.pagenum:before { content: "Page " counter(page); }
У меня версия 0.6 и $PAGE_NUM
и $PAGE_COUNT
не работает.
Например Page 1 of 5
.
В Интернете есть пример того, как чтобы получить часть Page 1
, но не часть of 5
. Это оно:
.pagenum:before { content: "Page " counter(page); }
У меня версия 0.6 и $PAGE_NUM
и $PAGE_COUNT
не работает.
По умолчанию встроенный PHP отключен из соображений безопасности, вам нужно включить его самостоятельно в dompdf_config.custom.inc.php. См. здесь.
На данный момент общее количество страниц не поддерживается используемым вами CSS, однако мы планируем заставить его работать в финальной версии 0.6.
Для тех, кто приходит сюда с новой версией DomPdf
Поскольку
dompdf
0.7.0
файлdompdf_config.inc.php
был удален (и больше не упоминается): все параметры dompdf должны быть установлены во время выполнения.
Это означает, что вам нужно создать новый экземпляр класса Options
.
$domPdfOptions = new Options();
И затем вы можете включить встроенный PHP, используя следующую строку
$domPdfOptions->set("isPhpEnabled", true);
Остальные коды верны и будут показывать номер страницы и количество страниц.
<script type="text/php">
if (isset($pdf))
{
$x = 72;
$y = 18;
$text = "{PAGE_NUM} of {PAGE_COUNT}";
$font = $fontMetrics->get_font("helvetica", "bold");
$size = 6;
$color = array(255,0,0);
$word_space = 0.0; // default
$char_space = 0.0; // default
$angle = 0.0; // default
$pdf->page_text($x, $y, $text, $font, $size, $color, $word_space, $char_space, $angle);
}
</script>
Обновление Как указал @london-smith, это также работает для DomPDF 0.8.1.
Убедитесь, что вы включили inline_pdf в dompdf.
Используйте этот код, вы можете разместить его там, где вам нравится, он получает высоту и ширину документа и помещает страницу/общее количество страниц в правый нижний угол.
<script type = "text/php">
if ( isset($pdf) ) {
$pdf->page_script('
if ($PAGE_COUNT > 1) {
$font = Font_Metrics::get_font("Arial, Helvetica, sans-serif", "normal");
$size = 12;
$pageText = $PAGE_NUM . "/" . $PAGE_COUNT;
$y = $pdf->get_height() - 24;
$x = $pdf->get_width() - 15 - Font_Metrics::get_text_width($pageText, $font, $size);
$pdf->text($x, $y, $pageText, $font, $size);
}
');
}
$pdf->page_script('')
необходимо.
- person jlmmns; 26.01.2014
В php вы можете получить доступ к переменным dompdf:
$PAGE_NUM the current page number
$PAGE_COUNT the total number of pages in the document
дополнительная информация http://code.google.com/p/dompdf/wiki/Usage а>
$PAGE_COUNT
— общее количество страниц.
<script type="text/php">
if (isset($pdf) ) {
echo $PAGE_COUNT;
}
</script>
Если вы используете старую версию, в которой это не поддерживается, обновите ее. В противном случае вам может не повезти.
См. вложение с именем issue121.php к этому отчету об ошибке. Работал на меня. Насколько я понимаю, вы не можете вывести номер страницы, но вы можете нарисовать его где-нибудь.
http://code.google.com/p/dompdf/issues/detail?id=121
Привет, это мой полный код... в конце концов, HTML поместил это..
<?
require_once("dompdf/dompdf_config.inc.php");
$dompdf = new DOMPDF();
$dompdf->load_html(ob_get_clean());
$dompdf->render();
$canvas = $dompdf->get_canvas();
$font = Font_Metrics::get_font("helvetica", "bold");
$canvas->page_text(512, 10, "Página: {PAGE_NUM} de {PAGE_COUNT}",$font, 8, array(0,0,0));
$filename = "yourNameConvention".date("Y-m-d").'.pdf';
$dompdf->stream($filename);
?>
Протестируйте с помощью простого файла, затем поместите весь соответствующий код с запросами и т. д. и т. д.
Я не знаю, какой контент вы хотите отобразить. У меня есть куча картинок и максимальное количество картинок на сайт.
Итак, функция дает мне номер сайта (общий/максимальный), а затем я получаю все, что мне нужно, чтобы приступить к созданию PDF-файла.
@for ($i = 1;$i <= $pages; $i++)
@if ($i !== 1)
<div style="page-break-before: always;"></div>
@endif
#Code for each Site
@end
Вот как я разделяю свои сайты и их. Я также получил $pages в качестве переменной блейда.
<div class="info_footer">
Page <span class="pagenum"></span> / {{$pages}}
</div>
С таблицей стилей:
.pagenum:before { content: counter(page); }