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

如何在PHPWord中为addHtml生成的表格设置Arial 10号默认字体?

解决PHPWord addHtml表格字体默认Times New Roman的问题

方法1:在HTML内容中嵌入全局样式

Html::addHtml()会解析HTML内的<style>标签,直接给文本和表格设置全局样式是最可靠的方式:

// 处理HTML内容并注入全局字体样式
$htmlContent = str_replace("&", "&amp;", $model[self_assessment]);
$styledHtml = <<<HTML
<style>
body, table, td, th, p {
    font-family: Arial;
    font-size: 10pt;
    margin: 0;
    padding: 0;
}
</style>
$htmlContent
HTML;

// 传入带样式的HTML
\PhpOffice\PhpWord\Shared\Html::addHtml($cell, $styledHtml);

方法2:给表格/单元格强制设置默认样式

通过PHPWord的样式配置,让单元格基础样式继承Arial 10号字体(若HTML内有行内样式会覆盖此设置,建议搭配方法1使用):

// 定义单元格字体样式
$cellStyle = [
    'fontName' => 'Arial',
    'fontSize' => 10
];

// 添加带样式的单元格
$cell = $wordTable->addCell(null, $cellStyle);

// 或者给整个表格设置统一的单元格默认样式
$tableStyle = ['cellStyle' => $cellStyle];
$wordTable = $section->addTable($tableStyle);

方法3:检查模板文件的基础样式

如果模板resume_tpl.docx中assess占位符所在的段落/表格本身设置了Times New Roman样式,插入的内容会继承模板格式。可以直接打开模板文件,选中assess块所在区域,修改其默认字体为Arial 10号后再重新生成文档。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 16:26:28