我正在尝试制作一个网站,让人们提交表单。此表单的一部分是使用 ckeditor 从用户那里获取输入。因为来自 ckeditor 的数据是 html,所以您需要将 html 转换为 openxml 以使用 phpword 的 tamplatingprocessor 但是每当我运行我的脚本时,我都会在输出文件上看到空白部分。
PHP代码:
$toOpenXML = HTMLtoOpenXML::getInstance()->fromHTML($data[1]);
$templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor('template.docx');
$templateProcessor->setValue('section1', $data[0]);
$templateProcessor->setValue('section2', $toOpenXML);
$templateProcessor->setValue('section3', $specialdata);
$templateProcessor->setValue('section4', $data[2]);
$templateProcessor->setValue('section5', $data[3]);
$file_name1 = $file_name.'.docx';
$file_name2 = $file_name.rand().'.docx';
if(file_exists($file_name1)== false){
$templateProcessor->saveAs($file_name1);
}elseif(file_exists($file_name2)== false){
$templateProcessor->saveAs($file_name2);
}else{
$info['er'] = "3";
}
HTMLtoOpenXML 的输出:
<w:p>
<w:pPr>
<w:pStyle w:val='OurStyle2'/>
</w:pPr>
<w:r>
<w:t xml:space='preserve'>foo</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:pStyle w:val='OurStyle2'/>
</w:pPr>
<w:r>
<w:t xml:space='preserve'>bar</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:pStyle w:val='OurStyle2'/>
</w:pPr>
<w:r>
<w:t xml:space='preserve'></w:t>
</w:r>
</w:p>
我的问题不是关于 HTMLtoOpenXML 我的问题是关于
除输出文件中的第 2 节外,所有节均正常工作。section2 的数据应该是空的。