Html 生成word 文件 (或富文本编辑器内容)

本文介绍了一种使用PHP生成Word文档的方法,包括直接生成文件到指定目录及通过文件流下载Word文档。示例代码展示了如何设置文档内容、元数据及响应头,适用于需要批量创建或动态生成Word文档的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**直接生成word 文档 到文件夹下(可返回生成路径)
 * 测试
 */
public function createWord($content='',$fileName='new_file.doc'){
    $content = '<h1 style="color:red;">我是h1</h1><h2>我是h2</h2>';
    $content='<html 
        xmlns:o="urn:schemas-microsoft-com:office:office" 
        xmlns:w="urn:schemas-microsoft-com:office:word" 
        xmlns="http://www.w3.org/TR/REC-html40">
        <meta charset="UTF-8" />'.$content.'</html>';
    if(empty($fileName)){
        $fileName=date('YmdHis').'.doc';
    }
    $fp=fopen($fileName,'wb');
    fwrite($fp,$content);
    fclose($fp);
}
/**
 * 直接生成文件(文件流)
 */
public function downloadWord1($content='', $fileName='new_file.doc'){

    $content = '<h4>表头:</h4>
                <table border="1">
                    <tr>
                      <th>姓名</th>
                      <th>电话</th>
                      <th>电话</th>
                    </tr>
                    <tr>
                      <td>Bill Gates</td>
                      <td>555 77 854</td>
                      <td>555 77 855</td>
                    </tr>
                </table>';

    $str = "<div id=\"divFullText\" class=\"articleText\">
            <p align=\"center\"><font class=\"MTitle\">辽宁高院发布首批参考性案例:商船渔船相撞 船员重伤获赔56万元</font></p><br/>  
            案情:杜某经营着一条渔船。2011年7月18日,渔船实施渔业捕捞作业时,同一艘商船发生碰撞,事故中,船员刘某颅脑严重损伤。在山东省烟台市台山医院住院4个多月才出院,期间杜某承担了医药费。经鉴定,刘某为“重度颅脑损伤并出现精神症状,致使缺乏社交能力及部分生活自理能力,语言能力丧失严重、肌体张力高,活动受限,分别构成四级及十级伤残各一处,出院后需长期陪护”。<br/><br/>  
            裁判结果:<br/><br/>  
            2013年10月21日,辽宁省高级人民法院二审判决杜某共应给付刘某残疾赔偿金、护理费、精神损害抚慰金等各项费用56万余元。<br/><br/>  
            法官说法:省高院樊春宇法官<br/><br/>  个人之间因生产经营及营利性商业活动形成了雇佣关系,雇员在从事雇佣活动中遭受人身损害的,应依照《最高人民法院关于审理人身损害赔偿案件适用法律若干问题的解释》第十一条规定处理,不论雇主是否存在过错,雇主应当承担赔偿责任。另外,第二十五条规定中计算赔偿标准所指的“受诉法院所在地”,是指受诉法院的机关所在地,即残疾赔偿金应根据受害人丧失劳动能力程度或者伤残等级,按照受诉法院的机关所在地的相关居民收入确定。<br/><br/>
            </div>";

    header("Cache-Control: no-cache, must-revalidate");
    header("Pragma: no-cache");
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; filename=$fileName");

    $html = '<html xmlns:v="urn:schemas-microsoft-com:vml"
     xmlns:o="urn:schemas-microsoft-com:office:office"
     xmlns:w="urn:schemas-microsoft-com:office:word" 
     xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" 
     xmlns="http://www.w3.org/TR/REC-html40">';
    $html .= '<head><meta charset="UTF-8" /></head>';

    echo $html . '<body>'.$str .'</body></html>';

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值