
参数说明:
要在 PHP 代码中添加页面文本,可以使用 page_script 函数。这个函数允许你在每个页面渲染后执行一段 PHP 代码。
以下是一个示例:
<?php
use Dompdf\Dompdf;
use Dompdf\FontMetrics;
$html = view('pdf')->render();
$dompdf = new Dompdf();
$dompdf->loadHtml($html);
$dompdf->render();
$canvas = $dompdf->getCanvas();
$fontMetrics = $dompdf->getFontMetrics(); // 获取 FontMetrics 对象
$canvas->page_script('
if ($PAGE_NUM !== 1) {
$font = $fontMetrics->get_font("helvetica", "bold");
$pdf->page_text(72, 18, "Header: $PAGE_NUM of $PAGE_COUNT", $font, 6, array(0,0,0));
}
');
$dompdf->stream("dompdf_out.pdf", ["Attachment" => false]);
exit(0);
?>在这个例子中,page_script 函数在每个页面上执行一段 PHP 代码,检查当前页码 ($PAGE_NUM) 是否为 1。如果不是,它会在页面顶部添加一个包含页码信息的页眉。
注意: 需要注意的是,需要通过 $fontMetrics = $dompdf->getFontMetrics(); 获取 FontMetrics 对象,以便在 page_script 中使用。
你也可以在 HTML 文档中嵌入 PHP 脚本来添加页面文本。要使用此功能,首先需要启用 HTML 嵌入式脚本:
$dompdf = new Dompdf(['isPhpEnabled' => true]);
启用后,你可以在 HTML 中使用 <script type="text/php"> 标签来嵌入 PHP 代码。
以下是一个示例:
<script type="text/php">
if ( isset($pdf) ) {
$font = Font_Metrics::get_font("helvetica", "bold");
if (PAGE_NUM===2) $pdf->page_text(72, 18, "Header: {PAGE_NUM} of {PAGE_COUNT}",
$font, 6, array(0,0,0));
}
</script>在这个例子中,脚本检查 $pdf 变量是否已设置(以确保脚本在 Dompdf 环境中运行),然后检查当前页码是否为 2。如果是,它会在页面顶部添加一个包含页码信息的页眉。
安全提示: 启用 HTML 嵌入式脚本会带来安全风险,因为它允许在 HTML 文档中执行任意 PHP 代码。只有在你知道你在做什么,并且信任 HTML 内容的来源时,才应启用此功能。
page_script 和 page_text 函数是在 HTML 渲染完成后执行的,这使得它们非常适合添加页眉、页脚和页码等内容。由于 Dompdf 在渲染文档后才能确定总页数 ($PAGE_COUNT),因此你必须使用 page_text 或 page_script 才能在 PDF 中正确显示总页数。
通过本文,你学习了如何在 Dompdf 中使用 $pdf 变量和 page_text 函数来定制 PDF 页面。你还学习了如何在 PHP 代码和 HTML 嵌入式脚本中使用这些功能,以及启用 HTML 嵌入式脚本的安全注意事项。掌握这些技术将使你能够创建更复杂和动态的 PDF 文档。
以上就是Dompdf 中 $pdf 的含义及 page_text 函数的使用详解的详细内容,更多请关注php中文网其它相关文章!
全网最新最细最实用WPS零基础入门到精通全套教程!带你真正掌握WPS办公! 内含Excel基础操作、函数设计、数据透视表等
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号