Dompdf生成PDF显示空白页求助(附相关代码)
Dompdf生成PDF空白问题排查
以下是代码中存在的几个关键问题:
1. 命名空间未正确引入
在library/pdf.php中,注释掉了命名空间引入语句use Dompdf\Dompdf;,但实例化时直接使用new DOMPDF()——Dompdf 0.7.0+版本依赖命名空间,这会导致类找不到的隐性错误,最终生成空白PDF。
修复方式二选一:
- 取消注释命名空间语句:
use Dompdf\Dompdf;
- 或实例化时使用完整命名空间路径:
$pdf = new Dompdf\Dompdf();
2. HTML内容获取逻辑错误
控制器中先执行$this->load->view('invoice',$data_user);,这会直接将视图内容输出到浏览器,后续$html = $this->output->get_output();无法正确捕获视图的HTML内容(此时output可能为空或包含已输出的冗余内容)。
正确做法是开启视图的返回模式,将第三个参数设为true,让视图直接返回HTML字符串而非输出:
// 替换原有的load->view和get_output代码 $html = $this->load->view('invoice', $data_user, true);
3. 额外排查方向
- 确认
require_once dirname(__FILE__).'/dompdf/autoload.inc.php';路径正确,能加载到Dompdf的自动加载文件; - 临时开启错误提示,在代码开头添加
error_reporting(E_ALL); ini_set('display_errors', 1);,查看是否有隐藏的权限、文件缺失类报错。
内容的提问来源于stack exchange,提问作者Rishabh
相关产品推荐
相关产品推荐

