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

使用mPDF时内联样式未识别的问题修复咨询

修复mPDF内联样式不识别的问题

我之前也碰到过mPDF解析内联样式时的坑,结合你的代码情况,给你几个针对性的修复方案:

1. 修正变量名错误(最容易忽略的点)

你的代码里定义的HTML变量是$htmls,但最后调用WriteHTML时传的是$html,这会导致mPDF根本没拿到你写了样式的HTML内容!先把这个拼写错误改过来:

$mpdf->WriteHTML($htmls); // 把$html改成$htmls

2. 关闭simpleTables配置

你开启了$mpdf->simpleTables = true;,这个参数是mPDF为了兼容老式简单表格设计的,开启后会忽略很多复杂的CSS样式(包括内联的表格样式、单元格padding等)。把它改成false,让mPDF用完整的表格解析模式:

$mpdf->simpleTables = false;

3. 优化HTML结构(可选,但能提升样式解析率)

mPDF对标准HTML结构的支持更好,建议给你的HTML加上<head>标签,哪怕里面不放额外CSS,也能让解析更稳定。另外,部分CSS属性比如border-spacing在mPDF里用内联可能不如在<style>块里定义靠谱,你可以把通用样式放在HTML内部的<style>里,依然不用单独的CSS文件:

$htmls = '<html>
<head>
<style>
    body { font-size: 100px; }
    table { width:100%; border-spacing: 0; margin-top: 10px; background-color: #FF5733; font-size:100px; }
    td { padding: 5px 8px; }
</style>
</head>
<body>
    <table>
        <tr>
            <td style="font-weight: bold;">TEST</td>
            <td> Test1 </td>
            <td> Test2 </td>
        </tr>
    </table>
</body></html>';

修改后的完整代码示例

$htmls = '<html><body style="font-size:100px;"> 
<table style="width:100%;border-spacing: 0px; margin-top: 10px;background-color: #FF5733;font-size:100px;" > 
<tr> 
<td style="padding: 5px 8px; font-weight: bold;">TEST</td> 
<td style="padding: 5px 8px;"> Test1 </td> 
<td style="padding: 5px 8px;"> Test2 </td> 
</tr> 
</table></body></html>'; 

require './mpdf60/mpdf.php'; 
$mpdf = new mPDF('utf-8', 'A4', 1); 
$mpdf->SetDisplayMode('fullpage'); 
$mpdf->autoLangToFont = true; 
$mpdf->autoScriptToLang = true; 
$mpdf->useSubstitutions = false; 
$mpdf->simpleTables = false; // 关键修改:关闭simpleTables
$mpdf->packTableData = true; 
$mpdf->showImageErrors = true; 
$mpdf->list_indent_first_level = 0; 
$mpdf->WriteHTML($htmls); // 修正变量名
$fname = date('Y-m-d-h-i-s') . ".pdf"; 
$mpdf->Output(__DIR__ . "/pdf/" . $fname); 
$filePath = __DIR__ . "/pdf/" . $fname; 

按照上面的步骤修改后,你的内联样式应该就能被mPDF正确识别了。

内容的提问来源于stack exchange,提问作者Shiloh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 20:18:15