You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为PHP生成的Word文档添加字体、字号等样式?

解决PHP生成带样式Word文档的问题

你的代码是通过让Word解析HTML内容来生成文档,但要添加字体、字号等样式,得用Word兼容的HTML/CSS语法实现,下面是修改后的可行代码:

<?php
if (isset($_POST['convert']))
{
    header("Content-type: application/vnd.ms-word");  
    header("Content-Disposition: attachment;Filename=".rand().".doc");  
    header("Pragma: no-cache");  
    header("Expires: 0");  

    // 用完整HTML结构+CSS定义样式
    echo '<html>
            <head>
                <meta charset="UTF-8">
                <style>
                    .title {
                        font-family: "微软雅黑", Arial, sans-serif;
                        font-size: 28px;
                        color: #2c3e50;
                        font-weight: bold;
                        margin-bottom: 20px;
                    }
                    .content {
                        font-family: "宋体", Times New Roman, serif;
                        font-size: 14px;
                        line-height: 1.8;
                        color: #34495e;
                    }
                </style>
            </head>
            <body>
                <div class="title">'.$_POST["heading"].'</div>
                <div class="content">'.$_POST["description"].'</div>
            </body>
          </html>';
} 
?>

核心注意点:

  • Word对HTML的CSS支持有限,优先用<style>标签内的类选择器或内联样式,避免复杂CSS属性
  • 字体选择要考虑本地Word环境的可用字体,中文优先选"微软雅黑""宋体",英文选Arial、Times New Roman这类通用字体
  • 必须包裹完整的HTML结构(html/head/body),否则Word可能无法正确识别样式
  • 如果需要更复杂格式(如表格、段落对齐),可以直接扩展HTML标签和对应CSS属性

这种方式是把HTML伪装成Word文档,适合简单需求;如果需要生成标准的Office Open XML格式(.docx),可以用PHPWord这类专业库实现。

内容的提问来源于stack exchange,提问作者Luna luna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 12:35:21