我正在使用DOMPDF创建PDF文件。我有很大的内容需要用PDF格式提取,我们需要在所有页面中添加一些标题。因此,任何人都可以打电话来告诉我们如何在PDF中添加页眉和页脚,以便使用DOMPDF在页面中显示页眉。PHP中使用DOMPDF的PDF页面中的页眉
29
A
回答
18
DOMPDF wiki有一个FAQ条目:有没有添加页眉和页脚或页码的方法?。
所以,你可以在下面的“内联PHP” -snippet添加到您的HTML输入(添加了类似page_text
-call为您的页脚):
<script type="text/php">
if (isset($pdf)) {
$font = Font_Metrics::get_font("helvetica", "bold");
$pdf->page_text(72, 18, "Header: {PAGE_NUM} of {PAGE_COUNT}",
$font, 6, array(0,0,0));
}
</script>
如果你想,而实现这个您caller-side(在PHP代码中直接表示),您必须调用DOMPDFS的get_canvas()
-方法,该方法返回底层的PDF-Renderer,它允许您像上例中那样调用page_text
方法。让我告诉你我是什么意思:
// your dompdf setup
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
// add the header
$canvas = $dompdf->get_canvas();
$font = Font_Metrics::get_font("helvetica", "bold");
// the same call as in my previous example
$canvas->page_text(72, 18, "Header: {PAGE_NUM} of {PAGE_COUNT}",
$font, 6, array(0,0,0));
最终,你必须调用load_html
后page_text
(只是尝试一下)。
50
在0.6.0代码中,您将能够使用HTML + CSS来生成页眉和页脚。与使用嵌入式PHP相比,有一些限制(例如,没有PAGE_COUNT占位符),所以这是否可行取决于您的需求。
下面的代码将产生一个two-page document with a header and footer:
<html>
<head>
<style>
@page { margin: 180px 50px; }
#header { position: fixed; left: 0px; top: -180px; right: 0px; height: 150px; background-color: orange; text-align: center; }
#footer { position: fixed; left: 0px; bottom: -180px; right: 0px; height: 150px; background-color: lightblue; }
#footer .page:after { content: counter(page, upper-roman); }
</style>
<body>
<div id="header">
<h1>Widgets Express</h1>
</div>
<div id="footer">
<p class="page">Page </p>
</div>
<div id="content">
<p>the first page</p>
<p style="page-break-before: always;">the second page</p>
</div>
</body>
</html>
您还可以使用两种风格的组合,如果你需要访问一些缺失的功能。使用page_text
方法添加的PDF对象和文本呈现在HTML内容之上。
相关问题
- 1. 使用dompdf将页面转换为PDF
- 2. Prawn中的页眉和页脚PDF
- 3. 在使用AlivePDF创建的PDF中添加页眉和页脚
- 4. 使用PHP从.pdf中提取页面
- 5. Dompdf:使用不同页脚或页面
- 6. 如何抑制页眉和页面的页面页眉?
- 7. dompdf:如何在除第一页以外的每个页面上添加页眉?
- 8. 使用DomPDF设置PDF文件的默认页面布局
- 9. 在html中嵌入php将页眉(页面的顶部)包含到页面中
- 10. 如何使用C#中的iTextsharp版本5.2.0在pdf的所有页面中添加页眉和页脚
- 11. java创建页眉和页脚的pdf
- 12. 重定向页眉php成功页面
- 13. 从许多页面中使用的页眉加载CSS文件
- 14. 如何使用bootstrap3和php突出显示页眉中的活动页面?
- 15. 如何将JasperReport中页面页眉的内容导出到Excel的页眉?
- 16. FPDF多个pdf与PHP数据 - 不同的页眉和页脚
- 17. 没有页眉/页脚的CakePHP页面
- 18. 使用perl的PDF :: API2 :: SIMPLE - 页眉和页脚
- 19. 单独的.php中的页眉和页脚,当前页面突出显示
- 20. 用PHP创建PDF页面
- 21. jQuery Mobile:为所有页面使用相同的页眉页脚
- 22. 在Rotativa生成的PDF中显示页眉和页脚
- 23. 在所有jQuery Mobile页面中使用相同的页眉/页脚
- 24. 使用HTML中的ITextRenderer在每个页面上添加页眉或页脚
- 25. Rails PDF Prawn页眉和页脚
- 26. PHP页眉和页脚
- 27. 使用PHP获取单个PDF页面
- 28. 使用TCPDF和PHP生成PDF页面
- 29. html页面中的自定义页眉和页脚
- 30. 如何在php网站中使用多个页眉和页脚?
感谢vstm ...我试图在标题中打印一些html标签。我也尝试过TCPDF ..但是我无法使用HTML标签,它只支持文本。在我的要求中,我必须创建一个报告,报告标题或列名应显示在所有页面中。我找不到任何在PDF中打印我的HTML标头的东西。如果你知道什么,请帮助我。 – Sandy
你的代码的第二部分是更好的,没有内联脚本的PHP代码。但“//添加标题”部分必须位于“$ dompdf-> render();”之后为了工作。 – machineaddict
这必须是被接受的答案 – Epoc