0

我正在使用 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。如果添加了任何附件(由 1000 像素高的 jpg 图像组成,每个在自己的页面上)

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

感谢您的帮助,大卫

4

1 回答 1

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

于 2013-01-17T14:47:26.083 回答