背景
phpword模板处理cloneBlock(克隆块),此时克隆的块段落样式都是一样的,项目需求需要指定块的变量设置不同的段落样式。
模版变量
${clone_name}
${content}
${/clone_name}
示例代码
$lists = [
'content 1',
'content 2',
'content 3',
];
# 读取模板
$plateform = new TemplateProcessor('xxx.docx');
$plateform->cloneBlock('block_name',count($lists),true,true);
foreach ($lists as $k => $item)
{
# 假设第三个值需要设置段落居中
if ($k == 2) {
$paragragph = new Paragraph();
$paragragph->setAlignment(Jc::CENTER);
$inline = new TextRun($paragragph);
$inline->addText('${content#'.($k+1).'}');
$template->setComplexBlock('content#'.($k+1), $inline);
}
$template->setValue('content#'.($k+1),$item);
}
# 保存文件
$plateform->saveAs(xxxx.docx);