使用PHPWord时,我可以在调用addListItem时格式化内联文本吗?

时间:2016-10-26 20:43:58

标签: php ms-word phpword

我正在使用PHPWord(https://github.com/PHPOffice/PHPWord/tree/develop)生成Word文档中出现的一些项目符号项。我依靠addListItem()将项目符号项添加到文档中,并且工作得很好。

我遇到的唯一问题是我需要格式化项目符号项中出现的一些文字,首先出现一个粗体字,然后出现非粗体文字;都在同一条线上。

例如:

  • 粗体字:有关所有一行中粗体字的更多信息

我无法弄清楚是否有可能使用PHPWord。我知道我可以通过addTextRun()创建一个textRun对象来创建我想要的格式,但是当我这样做时,它不会作为子弹添加到列表中。

有没有办法让两全其美?我不仅可以获得textRun对象的好处,还可以将其显示为子弹吗?

1 个答案:

答案 0 :(得分:2)

是的,你要搜索的是listItemRun。直接来自样本https://github.com/PHPOffice/PHPWord/blob/develop/samples/Sample_14_ListItem.php

$section->addText(htmlspecialchars('List with inline formatting.', ENT_COMPAT, 'UTF-8'));
$listItemRun = $section->addListItemRun();
$listItemRun->addText(htmlspecialchars('List item 1', ENT_COMPAT, 'UTF-8'));
$listItemRun->addText(htmlspecialchars(' in bold', ENT_COMPAT, 'UTF-8'), array('bold' => true));
$listItemRun = $section->addListItemRun();
$listItemRun->addText(htmlspecialchars('List item 2', ENT_COMPAT, 'UTF-8'));
$listItemRun->addText(htmlspecialchars(' in italic', ENT_COMPAT, 'UTF-8'), array('italic' => true));