【发布时间】:2023-04-08 05:26:01
【问题描述】:
我正在使用 Codeigniter,并成功实现了 dompdf 以生成 PDF 文件。现在我在生成的 PDF 中添加页眉和页脚时遇到问题。
这是我的 dompdf_helper 代码:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
function pdf_create($html, $filename='', $stream=TRUE)
{
require_once("dompdf/dompdf_config.inc.php");
$dompdf = new DOMPDF();
$dompdf->load_html($html);
$dompdf->render();
$dompdf->set_paper("A4");
if ($stream) {
$dompdf->stream($filename.".pdf",1);
} else {
return $dompdf->output();
}
}
?>
这是调用 PDF 生成的我的控制器:
<?php
$data['store']=$res;
$this->load->helper(array('dompdf', 'file'));
$html = $this->load->view('store/sales_pdf', $data, true);
$html.= $this->load->view('footer');
$filename="salesbill".$id;
pdf_create($html, $filename);
$data = pdf_create($html, '', false);
write_file('name', $data);
?>
我使用这个脚本来获取页码,但只有在第二页退出时才会打印,否则不会打印。
<script type="text/php">
if ( isset($pdf) ) {
$font = Font_Metrics::get_font("helvetica", "bold");
$pdf->page_text(500,10, "Page: {PAGE_NUM} of {PAGE_COUNT}", $font, 6, array(0,0,0));
}
</script>
我想将公司名称和联系方式以及帐单编号打印为每一页的页眉,然后打印在页脚中。我想添加一个页码,例如“1 of 3”。
【问题讨论】:
-
调试 dompdf 时首先要查看的是您正在呈现的 HTML 文档,而不是创建该文档的进程。这样更容易识别与 dompdf 相关的错误。那么,您可以发布一个显示错误的示例文档吗?我唯一的问题是,您至少在 HTML 内容周围有正文标签吗?如果不是,则由于文档的处理方式,dompdf 将无法访问该脚本。
标签: codeigniter dompdf