PHPWord水平线(<hr />)

时间:2013-11-16 18:02:29

标签: php phpword

我目前正在使用PHPWord生成我的文档,但我想在文档中添加一条水平线。就像HMTL中的


一样。简而言之,您可以通过输入三个下划线来完成此操作,但我想在生成的文档中使用它。

有人有关于此功能的更多信息吗?

谢谢!

5 个答案:

答案 0 :(得分:2)

也可以在某个部分添加水平线,而不是添加边框:

$section->addLine(['weight' => 1, 'width' => 600, 'height' => 0]);

请注意,宽度以像素为单位,这是此方法的主要缺点。您需要知道页面的宽度(减去边距)以像素为单位。如果您将其设置为某个较大的数字,那么该行将继续到您页面的右侧,忽略边距。

答案 1 :(得分:1)

您可以尝试使用 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

答案 2 :(得分:1)

我解压缩了'.docx&#39;找到最接近的xml标签的文件是&#39; w:pBdr&#39;。

$section->addText('', [], ['borderBottomSize' => 6]);

所以,我按ParagraphStyle插入一条水平线。

db.getCollection('Collection').aggregate([{
    $group: {
        "_id": "$_id",
        "pages": {
            $push: "$pages"
        }
    }
}])

答案 3 :(得分:0)

我认为最接近<hr>的是段落上的border属性:

$phpWord->addParagraphStyle('myBorderStyle', array(
    'borderSize' => \PhpOffice\PhpWord\Shared\Converter::pointToTwip(1), 
    'borderColor' => 'FF0000',
    'borderBottomSize' => \PhpOffice\PhpWord\Shared\Converter::pointToTwip(4),
    'borderTopColor' => '00FF00'
));

值得注意的:

  • 尺寸为TWIPS。
  • 您可以单独设置所有路线(toprightbottomleft)。
  • 您无法设置边框类型(例如dashed)。

答案 4 :(得分:0)

您可以使用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);

可用的线型属性:

  • 重量。 以缇为单位的线宽。
  • 颜色。 定义笔划的颜色。不带#号的十六进制值
  • 破折号。 线型:破折号,圆点,方点,破折点,longdash,longdashdot,longdashdotdot。
  • beginArrow。 箭头的起始类型:方块,空心,经典,菱形,椭圆形。
  • endArrow。 箭头的末端类型:方块,空心,经典,菱形,椭圆形。
  • 宽度。 线对象宽度(以磅为单位)。
  • 高度。 线对象高度(以磅为单位)。
  • 翻转。 翻转line元素:true,false。