我需要使用php自动生成带有数学表达式的word文档。 最好使用Microsoft公式,MathType或单词的07+公式编辑器。 我尝试使用phpword的函数addObject()将MathType * .eps文件作为OLE插入,但它不支持filetype。 我应该怎么做?
$word = new \PhpOffice\PhpWord\PhpWord();
$section = $word->addSection();
$section->addObject('formulas/Eqn1.eps');
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($word, 'Word2007');
$objWriter->save('docs/helloWorld.docx');
错误:PhpOffice \ PhpWord \ Exception \ InvalidObjectException
如果我尝试添加为数学:
$section->addText('
<w:p w:rsidR="00D14CAF" w:rsidRDefault="00A07C15">
<m:oMathPara>
<m:oMath>
<m:r>
<w:rPr>
<w:rFonts w:ascii="Cambria Math" w:hAnsi="Cambria Math"/>
</w:rPr>
<m:t>XXXXXXXXXXXXXX</m:t>
</m:r>
</m:oMath>
</m:oMathPara>
<w:bookmarkStart w:id="0" w:name="_GoBack"/>
<w:bookmarkEnd w:id="0"/>
</w:p>
');
*。docx没有打开(错误)
答案 0 :(得分:0)
文件未打开,因为文本中有xml标记元素。
我需要将方程式插入到文档中,最简单的方法是使用mathjax渲染等式,然后用html2canvas保存图像并使用phpWord addImage()
插入。我希望这会有所帮助。
答案 1 :(得分:0)
为新开发者添加答案。
php-docx 库可以在这里提供帮助,这是一个示例
https://www.phpdocx.com/api-documentation/word-content/add-math-OMML-Word-document-with-PHP