我可以在页脚中替换粗体和普通文本(感谢ejuhjav),但前提是我没有尝试设置文本样式。
在以下示例中,字母“T'出现粗体,因为它是默认大小(12)。
如果我缩小文本,则会删除粗体。我也尝试使用命名字体样式并创建字体样式对象。没有运气。
我有什么简单的遗失吗?
// create footer
$footer = $section->addFooter();
$textrun = $footer->addTextRun();
// define bold style
$boldFontStyleName = 'BoldText';
$phpWord->addFontStyle($boldFontStyleName, array('bold' => true));
// add content
$textrun->addText('T', $boldFontStyleName);
$textrun->addText(' ++353 1 555 0001 ',
array('name' => 'Helvetica', 'size' => 8));
$textrun->addText('E',
array('name' => 'Helvetica', 'size' => 8), $boldFontStyleName);
$textrun->addText(' abc.def@ghk.ie ',
array('name' => 'Helvetica', 'size' => 8));
$textrun->addText('W',
array('name' => 'Helvetica', 'size' => 8), $boldFontStyleName);
$textrun->addText(' abcd.ie/wxz',
array('name' => 'Helvetica', 'size' => 8));
答案 0 :(得分:1)
然后这是第三次:)
addText函数定义是:
addText(string $text, mixed $fStyle = null, mixed $pStyle = null)
即。字体样式与第二个参数一起给出,因此您将$boldFontStyleName
变量作为第三个属性的行不是粗体。
解决此问题的最简单方法是定义几种其他字体样式:
// create footer
$footer = $section->addFooter();
$textrun = $footer->addTextRun();
// define font styles
$boldFontStyleName = 'BoldText';
$phpWord->addFontStyle($boldFontStyleName, array('bold' => true));
$smallFontStyleName = 'smallText';
$phpWord->addFontStyle($smallFontStyleName, array(
'name' => 'Helvetica',
'size' => 8,
));
$boldSmallFontStyleName = 'BoldSmallText';
$phpWord->addFontStyle($boldSmallFontStyleName, array(
'bold' => true,
'name' => 'Helvetica',
'size' => 8,
));
// add content
$textrun->addText('T', $boldFontStyleName);
$textrun->addText(' ++353 1 555 0001 ', $smallFontStyleName);
$textrun->addText('E', $boldSmallFontStyleName);
$textrun->addText(' abc.def@ghk.ie ', $smallFontStyleName);
$textrun->addText('W', $boldSmallFontStyleName);
$textrun->addText(' abcd.ie/wxz', $smallFontStyleName);