テンプレートをロードするときの HTML タグのレンダリングに問題があります。HTMLtoOpenXML を使用してレンダリングしますが、最終的にはプレーン コードにすぎません。私はこれを使用します:
$workDescription = $entity->getWorkDescription();
$workDescription = \HTMLtoOpenXML::getInstance()->fromHTML(str_replace("<br />","<br>", stripslashes($workDescription)));
$workDescription = $this->replaceSpecialChar($workDescription);
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$document = $phpWord->loadTemplate($templatePath);
$document->setValue('Description', $workDescription);
$document->saveAs($file);
PhpWord でドキュメントを読み込み、変数から説明を設定しますが、レンダリングされたドキュメントの出力は次のようになります。
<w:p>
<w:pPr>
<w:pStyle w:val='OurStyle2'/>
</w:pPr>
<w:r>
<w:t xml:space='preserve'>
Test of CK Editor tags to transform them to word,
</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:pStyle w:val='OurStyle2'/>
</w:pPr>
<w:r>
<w:t xml:space='preserve'>
With a paragraph
</w:t>
</w:r>
</w:p>
HTMLtoOpenXML を使用しない場合、次のようになります。
<p>Test of CK Editor tags to transform them to word,</p>
<p>With a paragraph</p>
だから、これは私が何かを逃しているように見えます。何か助けはありますか?