【发布时间】:2011-03-30 12:40:47
【问题描述】:
例如Page 1 of 5。
有一个example online 说明如何获得Page 1 部分,但没有of 5 部分。就是这样:
.pagenum:before { content: "Page " counter(page); }
我使用的是 0.6 版,$PAGE_NUM 和 $PAGE_COUNT 不起作用。
【问题讨论】:
例如Page 1 of 5。
有一个example online 说明如何获得Page 1 部分,但没有of 5 部分。就是这样:
.pagenum:before { content: "Page " counter(page); }
我使用的是 0.6 版,$PAGE_NUM 和 $PAGE_COUNT 不起作用。
【问题讨论】:
默认情况下,出于安全原因,内联 PHP 是禁用的,您需要自己在 dompdf_config.custom.inc.php 中启用它。见here。
目前,您使用的 CSS 不支持总页数,但我们计划在 0.6 最终版本中使其工作。
【讨论】:
对于使用新版本 DomPdf 来这里的人
自
dompdf0.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
【讨论】:
检查您是否在 dompdf 中启用了 inline_pdf。
使用这段代码,你可以放在你喜欢的地方,它获取文档的高度和宽度,并把page/total_pages放在右下角。
<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('')。
请参阅此错误报告中名为 issue121.php 的附件。为我工作。据我了解,您无法回显页面编号,但您可以在某处绘制它。
【讨论】:
嗨,这是我的完整代码...毕竟 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); }
【讨论】:
在php中,可以访问dompdf变量:
$PAGE_NUM the current page number
$PAGE_COUNT the total number of pages in the document
【讨论】:
$PAGE_COUNT 是总页数。
<script type="text/php">
if (isset($pdf) ) {
echo $PAGE_COUNT;
}
</script>
如果您使用的是不支持此功能的旧版本,请升级。否则,你可能会倒霉。
【讨论】: