使用CakePDF和DomPDF引擎为所有PDF页面生成页脚

时间:2015-03-27 17:17:23

标签: dompdf

我尝试使用CakePDF,一个用于PDF生成的CakePHP插件,我选择了DomPDF作为PDF渲染引擎。

到目前为止,生成的PDF非常好,但我无法在PDF的每个页面上添加页脚。我已经阅读了几乎不存在的CakePDF文档,并且没有这个功能的示例或参考。

我试图在CakePdf选项上设置页脚,但它似乎无法正常工作

        $this->pdfConfig = array(
        'download' => false,
        'filename' => 'foo.pdf',
        'margin' => array(
            'bottom' => 5,
            'left' => 10,
            'right' => 10,
            'top' => 45
        ),
        'options' => array(
            'footer-html'=>Router::url('/', true).'View/Pdf/pdf_footer.ctp'
            )
    );

我还尝试在PDF视图上放置一个div,但它只在第一页上显示:

  <body>
    <div id="page-wrap" class="pdf">
    <div style="text-align: center; position: fixed; width: 100%; bottom:5px;">Footer text here</div>
<!-- insert pdf code here -->
</body>

我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:0)

如果不深入研究代码,很难看出CakePDF如何使用选项支持页眉/页脚。文档表明可选功能因引擎而异。您尝试的很可能是针对其他引擎之一。

就HTML + CSS页脚而言,您所遇到的只是dompdf如何处理文档的一个怪癖。 dompdf基本上从遇到它们的页面开始添加页面静态内容(例如固定位置元素)。页眉/页脚应位于文档的顶部(body元素内的第一个元素),以便显示在所有页面上。