对齐在 phpWord TemplateProcessor 中不起作用
alignment is not working in phpWord TemplateProcessor
我正在尝试更改添加到 docx 文件中的图像的对齐方式,但对齐方式不起作用。我试过如下:
$templateProcessor->setImageValue($tag->template_tag,
array(
'path' => $filePath,
'positioning' => \PhpOffice\PhpWord\Style\Image::POSITION_ABSOLUTE,
'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::END,
)
);
虽然图像是在导出的 docx 文件中呈现的,但是图像对齐始终保持不变。如何将图像的对齐方式更改为居中或结束?
您正在使用 you create a Word document from scratch using the library 时保留的定位设置。
但是,您正在使用 PHPWord 模板处理能力:这意味着 布局由您的 Word 文档本身驱动.
因此,占位符本身必须在模板中居中才能被居中图像替换。
为了说明,请考虑以下代码(放置在 TemplateProcessor
class 可用的任何 PHP 代码中):
$templateProcessor = new TemplateProcessor('Template.docx');
$templateProcessor->setValue('mc', 'Word MC');
$templateProcessor->setImageValue(
'advisory',
[
'path' => 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/33/Parental_Advisory_label.svg/300px-Parental_Advisory_label.svg.png'
]
);
$templateProcessor->saveAs('Replaced.docx');
使用以下 Word 模板(代码中的 Template.docx
)...
...您得到了以下替换(代码中的Replaced.docx
)
如果您将图片占位符居中...
...替换图像居中!
TemplateProcessor
class方法setImageValue
的第二个参数,名为$replace
(在0.16 version中添加)可以是关联数组,但它只支持 3 个值(引用自方法的 docBlock):
@param mixed $replace Path to image, or array("path" => xx, "width" => yy, "height" => zz)
我正在尝试更改添加到 docx 文件中的图像的对齐方式,但对齐方式不起作用。我试过如下:
$templateProcessor->setImageValue($tag->template_tag,
array(
'path' => $filePath,
'positioning' => \PhpOffice\PhpWord\Style\Image::POSITION_ABSOLUTE,
'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::END,
)
);
虽然图像是在导出的 docx 文件中呈现的,但是图像对齐始终保持不变。如何将图像的对齐方式更改为居中或结束?
您正在使用 you create a Word document from scratch using the library 时保留的定位设置。
但是,您正在使用 PHPWord 模板处理能力:这意味着 布局由您的 Word 文档本身驱动.
因此,占位符本身必须在模板中居中才能被居中图像替换。
为了说明,请考虑以下代码(放置在 TemplateProcessor
class 可用的任何 PHP 代码中):
$templateProcessor = new TemplateProcessor('Template.docx');
$templateProcessor->setValue('mc', 'Word MC');
$templateProcessor->setImageValue(
'advisory',
[
'path' => 'https://upload.wikimedia.org/wikipedia/commons/thumb/3/33/Parental_Advisory_label.svg/300px-Parental_Advisory_label.svg.png'
]
);
$templateProcessor->saveAs('Replaced.docx');
使用以下 Word 模板(代码中的 Template.docx
)...
Replaced.docx
)
如果您将图片占位符居中...
TemplateProcessor
class方法setImageValue
的第二个参数,名为$replace
(在0.16 version中添加)可以是关联数组,但它只支持 3 个值(引用自方法的 docBlock):
@param mixed $replace Path to image, or array("path" => xx, "width" => yy, "height" => zz)