DOMPDF:page_script():检查当前页面内容?

时间:2013-01-17 10:15:58

标签: header footer dompdf

我使用dompdf生成有时会有首页的报告,有时会有一些附件。主要内容有页眉和页脚,但首页和附件(pdf的最后3到5页)不应包含页眉和页脚。我正在使用内联php page_script()放置页眉和页脚,如下所示:

<script type="text/php"> 
    if (isset($pdf) ) { 
        $pdf->page_script('
            if ( $PAGE_COUNT > 10 && $PAGE_NUM == 1) {
                //front page footer
            }else{
                //other pages' header and footer
            }
        ');
    }
</script>

整个报告由数据库引擎构建,该引擎将其全部输出为临时html.txt文件,然后将其读入DOMPDF。

现在,要识别首页,我只需检查页码是否= 1 。如果添加了任何附件(由1000px高度的jpg图像组成,每个附图都在自己的页面上)

有没有人知道如何识别这些“附件”页面并让DOMPDF不在这些页面上呈现页眉和页脚?或者有什么方法可以在page_script() - 脚本中检查当前页面是否只包含图像(或者可能是具有特定类或标识符的图像)?

感谢您的帮助, 大卫

1 个答案:

答案 0 :(得分:1)

可能会检测当前页面内容,但我必须仔细研究您在此级别可以执行的操作。如果您可以在生成的文档中注入一些内联脚本,则更简单的方法。在主要内容之后和附件之前,您可以添加$GLOBALS['attachments'] = true;之类的内容,然后在条件中添加对此变量状态的检查。

<script type="text/php">
if (isset($pdf) ) {
  $pdf->page_script('
    if ( $PAGE_COUNT > 10 && $PAGE_NUM == 1) {
      //front page footer
    }elseif ($GLOBALS['attachments']) {
      //attachments actions
    }else{
      //other pages' header and footer
    }
  ');
}
</script>

当然,不要忘记在文档顶部将变量初始化为false。 (来自https://groups.google.com/d/topic/dompdf/mDsYi8Efnhc/discussion