phpword addText()align justify

Рук*_*ола 4 phpword

当我使用addText()它时align=center,左,右工作正常,但当我尝试使用align=justify脚本工作没有问题,但当我尝试打开.docx文件时,它给我错误,文件没有打开.

如果有人知道解决方案,将不胜感激.

$text = "some text";
$PHPWord->addFontStyle('r2Style', array('bold'=>false, 'italic'=>false, 'size'=>12));
$PHPWord->addParagraphStyle('p2Style', array('align'=>'center', 'spaceAfter'=>100));
$section->addText($text, 'r2Style', 'p2Style');
Run Code Online (Sandbox Code Playgroud)

小智 6

尝试改变'align'=>'left',以'align'=>'both'

$text = "some text";
$PHPWord->addFontStyle('r2Style', array('bold'=>false, 'italic'=>false, 'size'=>12));
$PHPWord->addParagraphStyle('p2Style', array('align'=>'both', 'spaceAfter'=>100));
$section->addText($text, 'r2Style', 'p2Style');
Run Code Online (Sandbox Code Playgroud)


小智 5

在 src\PhpWord\SimpleType\Jc.php 中,您将找到有效对齐选项的列表。“justify”不是(据我所知也不是)一个有效的选项。

const START = 'start';
const CENTER = 'center';
const END = 'end';
const BOTH = 'both';
const MEDIUM_KASHIDA = 'mediumKashida';
const DISTRIBUTE = 'distribute';
const NUM_TAB = 'numTab';
const HIGH_KASHIDA = 'highKashida';
const LOW_KASHIDA = 'lowKashida';
const THAI_DISTRIBUTE = 'thaiDistribute';
Run Code Online (Sandbox Code Playgroud)

“distribute”很接近,但即使最后一行是单个单词,也会分布在段落的宽度上。我成功地将“thaiDistribute”和“lowKashida”作为“align”属性的值。正如您在 Word 中所期望的那样,两者都给出了不错的“Justify”。