如何将调整文本大小与页脚中的粗体结合起来?

How can I combine text resizing with bolding in footer?

我可以在页脚中交替使用粗体和普通文本(感谢 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));

然后这是第三次:)

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);