【问题标题】:PHPWord horizontal line (<hr />)PHPWord 水平线 (<hr />)
【发布时间】:2013-11-16 18:02:28
【问题描述】:

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


在 HMTL 中。在 word 中,您可以通过输入三个下划线来执行此操作,但我想在生成的文档中使用它。

有人知道更多关于这个功能的信息吗?

谢谢!

【问题讨论】:

    标签: php phpword


    【解决方案1】:

    我解压了'.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]);
    

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

        你可以尝试使用添加表格和应用边框而不是使用 phpword 添加&lt;hr&gt;

             $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

        【讨论】:

        • 这很有帮助。我会试试的。
        【解决方案4】:

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

        可用的线型属性:

        • 重量。 以缇为单位的线宽。
        • 颜色。 定义描边的颜色。不带 # 标记的十六进制值
        • 破折号。 线条类型:dash、rounddot、squaredot、dashdot、longdash、longdashdot、longdashdotdot。
        • 开始箭头。 箭头的起始类型:方块、空心、经典、菱形、椭圆形。
        • 结束箭头。 箭头的末端类型:方块、开放、经典、菱形、椭圆形。
        • 宽度。 以pt为单位的线对象宽度。
        • 高度。 以pt为单位的线对象高度。
        • 翻转。 翻转线元素:真,假。

        【讨论】:

          【解决方案5】:

          我认为最接近&lt;hr&gt;的是段落的边框属性:

          $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)。

          【讨论】:

            猜你喜欢
            • 2014-01-31
            • 1970-01-01
            • 2023-02-13
            • 2023-03-20
            • 2017-09-21
            • 2012-07-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多