PHP由HTML生成Word文档及编码转换

3 篇文章 0 订阅

Word类源代码:

class Word{
    function start(){
        ob_start();
        echo '<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>';
    }

    function save($path){
        echo '</html>';
        $data=ob_get_cotents();
        ob_end_clean();
        $this->writeFile($path, $data);
    }

    function writeFile($path, $data){
        $fp=fopen($path, 'wb');
        fwrite($fp, $data);
        fclose($fp);
    }
}

使用方法:

$html='<html><table><tr><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td></tr></table>';
$word=new Word();
$word->start();
$wordname=iconv('UTF-8', 'GB2312//IGNORE', '<filename>'.'doc');// 添加//IGNORE参数忽略转换错误,以防止因转换失败而导致脚本终止运行
$path='<PATH/TO/SAVE>'.$wordname;//最好是绝对路径。这里注意:1.确保写入目录具有可写入权限;2.路径和文件名中不得包含/\*?"<>|等非法字符
echo iconv('UTF-8', 'GB2312//IGNORE', $html);
$word->save();
ob_flush();
flush();

注:生成带图片的Word文档时,图片src须使用绝对路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值