如何在 PHPWord 中向传入的 HTML 添加样式

Nic*_*sen 0 phpword phpoffice

在 phpword 中,我发现您曾经能够将样式数组传递给 addHTML 函数,但现在不能了。

如果我的 HTML 没有设置任何内联样式,是否有办法指定 fontStyle 和 paragraphStyle,这样它就不会在 Word 文件中以普通的“Arial 10pt”形式结束?

我通过在调用 addHTML 之前设置默认样式取得了一些成功:

$phpWord->setDefaultFontName('...');
$phpWord->setDefaultFontSize('...');
$phpWord->setDefaultParagraphStyle('...');
Run Code Online (Sandbox Code Playgroud)

但是,这不是完整的字体样式。例如,您将如何更改文本的颜色?

Nic*_*sen 5

看来最通用的解决方案实际上是在调用 addHTML() 之前将样式直接添加到 html 中。就像是...

$html = str_replace("<p>", 
    "<p style='font-size: 10pt; font-family: Arial; color:#595959; line-height: 140%; margin-bottom: 160pt;'>", 
    $html);
Run Code Online (Sandbox Code Playgroud)