【发布时间】:2013-11-16 18:02:28
【问题描述】:
我目前正在使用 PHPWord 生成我的文档,但我想在文档中添加一条水平线。就像一个
在 HMTL 中。在 word 中,您可以通过输入三个下划线来执行此操作,但我想在生成的文档中使用它。
有人知道更多关于这个功能的信息吗?
谢谢!
【问题讨论】:
我目前正在使用 PHPWord 生成我的文档,但我想在文档中添加一条水平线。就像一个
有人知道更多关于这个功能的信息吗?
谢谢!
【问题讨论】:
我解压了'.docx'文件,发现最近的xml标签是'w:pBdr'。
<w:pBdr><w:bottom w:val="single" w:sz="6" w:space="0" w:color="auto"/></w:pBdr>
所以,我通过 ParagraphStyle 插入一条水平线。
$section->addText('', [], ['borderBottomSize' => 6]);
【讨论】:
也可以在部分中添加水平线,而不是添加边框:
$section->addLine(['weight' => 1, 'width' => 600, 'height' => 0]);
请注意,宽度以像素为单位,这是此方法的主要缺点。您需要知道页面的宽度(减去边距)以像素为单位。如果将其设置为较大的数字,则该行将一直延伸到页面的右侧,而忽略页边距。
【讨论】:
你可以尝试使用添加表格和应用边框而不是使用 phpword 添加<hr>
$styleTable = array('borderSize'=>1, 'borderColor'=>'006699');
$styleFirstRow = array('borderBottomSize'=>1, 'borderBottomColor'=>'0000FF');
$this->word->addTableStyle('myOwnTableStyle', $styleTable, $styleFirstRow);
// Add table
$table = $section->addTable('myOwnTableStyle');
参考:http://www.ahowto.net/php/creating-ms-word-document-using-codeigniter-and-phpword
【讨论】:
您可以使用 addLine 方法添加线条。
引用自:https://phpword.readthedocs.io/en/latest/elements.html?highlight=line#line
$lineStyle = array('weight' => 1, 'width' => 100, 'height' => 0, 'color' => '38c172');
$section->addLine($lineStyle);
可用的线型属性:
【讨论】:
我认为最接近<hr>的是段落的边框属性:
$phpWord->addParagraphStyle('myBorderStyle', array(
'borderSize' => \PhpOffice\PhpWord\Shared\Converter::pointToTwip(1),
'borderColor' => 'FF0000',
'borderBottomSize' => \PhpOffice\PhpWord\Shared\Converter::pointToTwip(4),
'borderTopColor' => '00FF00'
));
值得注意的:
top、right、bottom、left)。dashed)。【讨论】: