我正在使用 Dompdf 生成一个 html2pdf,我的代码是
$html='<div>--content of pdf--</div>';
require_once('resources/dompdf/dompdf_config.inc.php');
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$output = $dompdf->output();
$dompdf->stream("transaction.pdf");
我的 pdf 已成功生成,现在我想在该 pdf 的页眉中添加图像,所以谁能告诉我如何为 Dompdf 插入页眉和页脚,特别是在何处放置页眉代码?
最佳答案
来自 dompdf FAQ
Q: How can I add an image to a header or footer on every page? A: You can add images and shapes (line, rectangles, etc.) to every page using PDF 'objects'. A PDF object captures all rendering commands as a sort of template that can then be added to multiple pages:
<script type="text/php">
if ( isset($pdf) ) {
// Open the object: all drawing commands will
// go to the object instead of the current page
$footer = $pdf->open_object();
$w = $pdf->get_width();
$h = $pdf->get_height();
// Draw a line along the bottom
$y = $h - 2 * $text_height - 24;
$pdf->line(16, $y, $w - 16, $y, $color, 1);
// Add an initals box
$font = Font_Metrics::get_font("helvetica", "bold");
$text = "Initials:";
$width = Font_Metrics::get_text_width($text, $font, $size);
$pdf->text($w - 16 - $width - 38, $y, $text, $font, $size, $color);
$pdf->rectangle($w - 16 - 36, $y - 2, 36, $text_height + 4, array(0.5,0.5,0.5), 0.5);
// Add a logo
$img_w = 2 * 72; // 2 inches, in points
$img_h = 1 * 72; // 1 inch, in points -- change these as required
$pdf->image("print_logo.png", "png", ($w - $img_w) / 2.0, $y - $img_h, $img_w, $img_h);
// Close the object (stop capture)
$pdf->close_object();
// Add the object to every page. You can
// also specify "odd" or "even"
$pdf->add_object($footer, "all");
}
</script>
编辑:
以下是分步说明:
在您的 html 文件中靠近顶部的某处,打开一个类型为“text/php”的脚本标签:
<script type="text/php">
检查是否设置了 $pdf 变量。 dompdf 在评估嵌入式 PHP 时设置此变量。
<script type="text/php">
if ( isset($pdf) ) {
关于php - 如何在 Dompdf 中添加页眉和页脚?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18570509/