php将内容转为word

PHP教程 2025-09-02

第一步,先对内容进行处理,html的内容不适合word,在使用phpword转换时,只接受p和span元素,其它元素都要清除掉

 

 

第二步

$title =  标题;$content = 内容;use PhpOfficePhpWordIOFactory;use PhpOfficePhpWordPhpWord;use PhpOfficePhpWordSharedHtml;$phpWord = new PhpWord();$phpWord->addFontStyle('cStyle', array('size' => 12,'name' => '宋体'));//内容样式$phpWord->addFontStyle('cStyle1', array('size' => 16,'name' => '宋体','color' => '#333'));//内容样式$phpWord->addFontStyle('cStyle2', array('size' => 12,'name' => '宋体','color' => '#ff0000'));//链接样式$phpWord->addFontStyle('bStyle', array('size' => 12, 'bold' => true, 'name' => '宋体'));//加粗样式$phpWord->addFontStyle('titlestyle', array('bold' => true,'size' => 18,'name' => '宋体'));//标题的样式$section = $phpWord->addSection();$section->addTextBreak(2);$section->addText($title,'titlestyle', ['alignment' => 'center']);$section->addTextBreak(2);//$section->addText($content,'cStyle1', ['alignment' => 'left']);Html::addHtml($section, $content, false, false);$section->addTextBreak(5);$section->addText($datetime,'bStyle', ['alignment' => 'right']);$section->addTextBreak(5);$linkText = '本文链接:'.$link;$linkUrl = $link;$section->addLink($linkUrl, $linkText,'cStyle2');header('pragma:public');header('Content-type:application/vnd.ms-word;charset=utf-8;name="'.$file_name.'"');header("Content-Disposition:attachment;filename='.$file_name.'");//attachment新窗口打印inline本窗口打印header( 'Content-Type: image/jpeg');ob_clean();flush();$writer = IOFactory::createWriter($phpWord, 'Word2007');$writer->save($_SERVER['DOCUMENT_ROOT'].'/'.$file_path.'/'.$file_name);//向浏览器输出下载$writer->save('php://output');