You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter4中调用mPDF的WriteHtml方法触发TypeError错误求助

CodeIgniter4 + mPDF 调用WriteHtml()触发TypeError: Unsupported operand types: string * int错误

问题详情

  • 环境:CodeIgniter4、PHP 8.1、mPDF,页面使用MDBootstrap CSS
  • 现象:视图单独渲染功能正常,但将视图渲染结果存入$html变量后,调用$mpdf->WriteHtml($html)时触发类型错误:TypeError Unsupported operand types: string * int
  • 排查结论:逐步测试发现,只要HTML元素的class中包含bg-secondary就会触发该错误,推测其他类似Bootstrap颜色类也可能存在相同问题

相关HTML代码

<html>
<head>
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet" />
<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet"/>
<!-- MDB -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/6.0.1/mdb.min.css" rel="stylesheet" />
</head>
<body>
<div class="container-md pt-2 border"  style="width: 80%">
<div class="row">
<div class="col-md-2 text-center">
<img src="<?php echo base_url();?>/public/assets/images/MSAS_Logo.png" 
class="img-fluid" width="70%" height="70%" alt="MSAS Logo" />
</div>
<div class="col-md-10 text-center">
<p class="fs-3 lh-1">Meenakshi Sehkari Awaas Samiti</p>
<p class="fs-6 lh-2">(Reg. No 1523. Plot No. 7, Sector PI,
Greater Noida, (Distt. Gautam Budh Nagar), U.P - 201308.</p>
</div>
</div>
<div class="row bg-secondary"> 
<div class="col-md-12 text-center justify-content-center">
<h3>Maintenance Bill Note</h3>
</div>
</div>
</body>
</html>

(注:已修正原代码中未闭合的div标签语法错误)

解决方案

1. 用行内样式替代触发错误的类

直接将bg-secondary替换为对应的行内背景色样式,绕过mPDF对该类的解析:

<div class="row" style="background-color: #6c757d;">

2. 自定义CSS并替换类名

生成HTML后替换有问题的类名,再加载自定义CSS避免解析冲突:

// 替换HTML中的bg-secondary为自定义类
$html = str_replace('bg-secondary', 'custom-bg-secondary', $html);

// 定义自定义CSS
$customCss = '.custom-bg-secondary { background-color: #6c757d; }';

// 先加载自定义CSS,再加载HTML内容
$mpdf->WriteHTML($customCss, \Mpdf\HTMLParserMode::HEADER_CSS);
$mpdf->WriteHTML($html);

3. 更新mPDF到最新版本

该错误大概率是mPDF的CSS解析器bug,更新到最新版本的mPDF可能已经修复了该类型的解析问题。


内容的提问来源于stack exchange,提问作者Jamia Millia Islamia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 07:50:26