2

テンプレートをロードするときの 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>

だから、これは私が何かを逃しているように見えます。何か助けはありますか?

4

0 に答える 0