如何用PHPWord将DOCX转HTML并直接输出到屏幕?
如何直接输出PhpWord生成的HTML到屏幕而非保存为文件?
你可以通过两种简单方式实现直接输出HTML内容到屏幕:
方法一:利用PHP内置输出流
直接将php://output作为save()方法的参数,这会让PhpWord直接把生成的HTML内容输出到标准输出(即浏览器屏幕):
$phpWord = \PhpOffice\PhpWord\IOFactory::load($word_file); $htmlWriter = new \PhpOffice\PhpWord\Writer\HTML($phpWord); // 直接输出到屏幕 $htmlWriter->save('php://output');
方法二:通过输出缓冲区捕获内容
借助PHP的输出缓冲区函数,先捕获save()生成的内容,再手动输出:
$phpWord = \PhpOffice\PhpWord\IOFactory::load($word_file); $htmlWriter = new \PhpOffice\PhpWord\Writer\HTML($phpWord); // 开启输出缓冲区 ob_start(); // 调用save()时不传参数,内容会写入缓冲区 $htmlWriter->save(); // 获取缓冲区内容并清空 $htmlContent = ob_get_clean(); // 输出到屏幕 echo $htmlContent;
补充说明
PhpWord的HTMLWriter::save()方法在不传文件名参数时,默认会将生成的内容写入PHP输出缓冲区,因此可以通过上述两种方式实现直接输出,无需保存到物理文件。
内容的提问来源于stack exchange,提问作者Kevin Lupo
相关产品推荐
相关产品推荐

