我正在尝试使用PhpWord library创建一个整洁的Word文档。不幸的是,文档似乎不完整。我希望有一个带有边框和背景颜色的段落,跨越整个页面宽度。我做了一些研究,发现了属性borderSize和borderColor,这些属性没有为addText方法记录。还有一个可以在文本上设置的bgColor属性。以下示例创建一个用边框包围的段落。文本也有一些背景颜色,但它只是文本,而不是边框包围的整个区域。遗憾的是,属性bgColor对段落级别没有任何影响。
有没有人知道如何实现这个目标?
use \PhpOffice\PhpWord\IOFactory;
$document = new \PhpOffice\PhpWord\PhpWord();
$titlepage = $document->createSection();
$titlepage->addText('My Title',
array("size" => 24, "color" => "FF0000", "bgColor"=>"00FF00"),
array("borderSize"=>6, "borderColor"=>"0000FF")
);
$objWriter = IOFactory::createWriter($document, 'Word2007');
答案 0 :(得分:0)
我刚看了一下源代码:
如果要设置段落背景颜色,则必须设置段落样式的阴影:
$section->addText('Your text', array(), array('shading' => array('fill' => 'dddddd')));
段落样式的背景颜色设置为阴影的填充。
据我所知,您必须阅读PhpWord API
http://phpoffice.github.io/PHPWord/docs/master/classes/PhpOffice.PhpWord.Style.Shading.html
和/或docx规范
http://officeopenxml.com/WPshading.php
找到“阴影”的正确参数。