在phpword中,我看到您曾经能够将样式数组传递给addHTML函数,但现在不再可用。
如果我的HTML没有设置任何内联样式,是否有一种方法可以指定fontStyle和段落样式,使其在Word文件中不会以纯“ Arial 10pt”结尾?
通过在调用addHTML之前设置默认样式,我已经取得了一些成功:
$phpWord->setDefaultFontName('...');
$phpWord->setDefaultFontSize('...');
$phpWord->setDefaultParagraphStyle('...');
但是,这不是完整的字体样式。例如,如何更改文本的颜色?
答案 0 :(得分:0)
在doc之后,它将类似于:
// New document
$phpWord = new \PhpOffice\PhpWord\PhpWord();
// New empty section
$section = $phpWord->addSection();
// Set font-styles
$fontStyle = new \PhpOffice\PhpWord\Style\Font();
$fontStyle->setName('Tahoma');
$fontStyle->setSize(13);
// Adding text and font-styles to the section
$myTextElement = $section->addText("Bla bla bla");
$myTextElement->setFontStyle($fontStyle);
这样,您可以将$ fontStyle用作创建的所有文本的默认样式。
答案 1 :(得分:0)
似乎最通用的解决方案实际上是在调用addHTML()之前将样式直接添加到html中。像...
$html = str_replace("<p>",
"<p style='font-size: 10pt; font-family: Arial; color:#595959; line-height: 140%; margin-bottom: 160pt;'>",
$html);
答案 2 :(得分:0)
仅添加例如默认字体 示例:
$phpWord->setDefaultFontName('Times New Roman');
$phpWord->setDefaultFontSize(12);