php实现文档在线预览

<?php
    /*
    * 必须将 php.ini 中的 com.allow_dcom 设为 TRUE
    */
 
    function php_Word($wordname,$htmlname,$content)
    {
        //获取链接地址
        $url = $_SERVER['HTTP_HOST'];//主机地址,类似localhost或者www.baidu.com
        $url = "";
        $url = $url.$_SERVER['PHP_SELF'];//脚本语言的绝对路径,类似/index.php,这个前头有/做的拼接,
        $url = dirname($url)."/";
        //建立一个指向新COM组件的索引,实际就做了一个实例化,并且只作用于这个server上,这样下头的就可以随意调用,就调用出来了,类似Visible,Documents,ActionDocuments这些属性
        $word = new COM("word.application") or die("Unable to instanciate Word");
 
        //显示目前正在使用的Word的版本号,不为什么,照着写好了
        echo "Loading Word, v. {$word->Version}";
 
        //把它的可见性设置为0(假),如果要使它在最前端打开,使用1(真)
        $word->Visible = 1;
        //---------------------------------读取Word内容操作 START-----------------------------------------
        //打开一个word文档
        $word->Documents->Open($url.$wordname);
 
        //将filename.doc转换为html格式,并保存为html文件
        $word->Documents[1]->SaveAs(dirname(__FILE__)."/".$htmlname,8);
 
        //获取htm文件内容并输出到页面 (文本的样式不会丢失)
        $content = file_get_contents($url.$htmlname);
        echo $content;
 
        //获取word文档内容并输出到页面(文本的原样式已丢失)
        $content= $word->ActiveDocument->content->Text;
        echo $content;
 
        //关闭与COM组件之间的连接
        $word->Documents->close(true);
        $word->Quit();
        $word = null;
        unset($word);
        //---------------------------------新建立Word文档操作 START--------------------------------------
        //建立一个空的word文档
        $word->Documents->Add();
 
        //写入内容到新建word
        $word->Selection->TypeText("$content");
 
        //保存新建的word文档
        $word->Documents[1]->SaveAs(dirname(__FILE__)."/".$wordname);
 
        //关闭与COM组件之间的连接
        $word->Quit();
    }
    php_Word("tesw.doc","filename.html","写入word的内容");
?>



 ?>



转载于:https://my.oschina.net/u/1757622/blog/226496

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值