【问题标题】:Generate footer for all PDF pages with CakePDF and the DomPDF engine使用 CakePDF 和 DomPDF 引擎为所有 PDF 页面生成页脚
【发布时间】:2015-03-27 17:17:22
【问题描述】:

我正在尝试使用 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>

我错过了什么吗?

【问题讨论】:

    标签: dompdf


    【解决方案1】:

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

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

    【讨论】:

    • (这可能会在未来的版本中改变。)
    猜你喜欢
    • 2020-02-15
    • 1970-01-01
    • 2013-04-22
    • 2017-02-17
    • 2021-10-30
    • 1970-01-01
    • 2019-10-07
    • 2013-12-19
    • 1970-01-01
    相关资源
    最近更新 更多