基于 PHP 实现 HTML 页面带样式导出 Word 文档

基于 PHP 实现 HTML 页面带样式导出 Word 文档

介绍如何使用 PHP (包括 ThinkPHP 框架) 将 HTML 页面内容及其样式导出为 Word 文档。

实现思路:

  1. HTML 解析: 使用 PHP 内置的 DOMDocument 类或第三方库解析 HTML 结构和样式信息。
  2. Word 生成: 利用 PHPWord 等库创建新的 Word 文档,并将解析后的 HTML 内容和样式应用到文档中。
  3. 文件输出: 将生成的 Word 文档以 .docx 格式输出到浏览器或保存到服务器。

代码示例 (ThinkPHP):

// 引入 PHPWord 库
use PhpOfficePhpWordPhpWord;

// 创建 Word 对象
$phpWord = new PhpWord();

// 添加 Section
$section = $phpWord->addSection();

// 读取 HTML 内容
$html = file_get_contents('template.html');

// 将 HTML 转换为 Word 内容
PhpOfficePhpWordSharedHtml::addHtml($section, $html);

// 保存 Word 文件
$objWriter = PhpOfficePhpWordIOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('document.docx');

// 下载文件
header('Content-Type: application/vnd.ms-word');
header('Content-Disposition: attachment;filename="document.docx"');
readfile('document.docx');

注意事项:

  • 确保安装了所需的 PHP 扩展和库。
  • 复杂 HTML 结构和样式可能需要额外的处理才能完美导出。
zip 文件大小:4.14KB