在PHPWord中,左右对齐单词

时间:2016-03-02 22:38:55

标签: php phpword

我想知道是否还有左右对齐同一行的一些文字。例如,简历中的公司名称与左侧对齐,日期与右侧对齐,位于同一行。

我试图用文本运行来做这件事,但似乎没有用。我知道我可以使用\t\t但左侧文本的长度不同,因此选项卡将非常不一致。

这只是一个简单的例子:

$section = $phpWord->addSection();
$textrun = $section->addTextRun();
$textrun->addText("Left Text", array(), array("align" => "left"));
$textrun->addText("Right Text", array(), array("align" => "right"));

任何帮助将不胜感激。感谢。

2 个答案:

答案 0 :(得分:5)

使用带有单个自定义制表位的段落样式,右边对齐右边距,可以在同一行文本上实现不同对齐的效果。

$section = $phpWord->addSection();

$section_style = $section->getStyle();
$position =
    $section_style->getPageSizeW()
    - $section_style->getMarginRight()
    - $section_style->getMarginLeft();
$phpWord->addParagraphStyle("leftRight", array("tabs" => array(
    new \PhpOffice\PhpWord\Style\Tab("right", $position)
)));

$section->addText("Left Text\tRight Text", array(), "leftRight");

答案 1 :(得分:0)

您应该这样做,只需分开定义样式并在addTextRun中作为参数发送。

   $phpWord->addParagraphStyle('pStyler', array('align' => 'right'));

   $textrun = $section->addTextRun('pStyler');

   $textrun->addText(htmlspecialchars("Some text here..."));