欢迎来到福编程网,本站提供各种互联网专业知识!

实例详解PHP中html word 互转的方法

发布时间:2016-01-28 作者:得了藤蔓 来源:转载
这篇文章主要介绍了实例详解PHP中htmlword互转的方法的相关资料,涉及到phphtmlword互转的相关知识,本文介绍的非常详细,具有参考借鉴价值

下面一段代码给大家介绍php将html转入word中,具体内容如下所示:

这是经过测试的,这种方法有一点不好,html页面代码要写在php中,不过好歹能运行,看程序

<?php 
class word{
function start(){
ob_start();
echo ''; 
}
function save($path)
{
echo "";
$data = ob_get_contents();
}
function wirtefile($fn,$data){
$fp=fopen($fp,$data);
fwrite($fp,$data);
}
}
$html='
姓名 性别 年龄 爱好 备注
张三 32 足球
李四 43篮球
'; //批量生成 //for($i=1;$i<3;$i++){ $word = new word(); $word->start(); $wordname='个人测试php生成word.doc'; echo $html; $word->save($wordname); header('Content-type:application/word'); header('Content-Disposition: attachment; filename='.$wordname.''); //readfile($wordname); ob_flush();//每次执行前刷新缓存 flush(); //} ?>

下面给大家分享一段代码php实现word转html的方法

要想完美解决,office转pdf或者html,最好还是用windows office软件,libreoffice不能完美转换,wps没有api。

先确认com模块是不是开启,phpinfo里面如果有com_dotnet模块,说明已开启,如果没有,修改php.ini,

代码如下:

com.allow_dcom = true

前面的注释去掉,重启就OK了,php官方网站说,php5.4.5之前,com模块是内置的,其实也不一定全是,官网下的php 5.3.39,com模块就没有内置。

如果不是内置模块的话,php.ini加上,前提你的ext文件夹下,有该扩展

代码如下:

extension=php_com_dotnet.dll

然后重启就OK了

function word2html($wordname,$htmlname)
{
$word = new COM("word.application") or die("Unable to instanciate Word");
$word->Visible = 1;
$word->Documents->Open($wordname);
$word->Documents[1]->SaveAs($htmlname,8);
$word->Quit();
$word = null;
unset($word);
}
word2html('D:/www/test/6.docx','D:/www/test/6.html');

注意:

1. 转换出来的html,查看源码,比较乱的

2. 转换过程中会调用winword.exe

3. 如果页面一直在加载,把文档重命名,然后在重新转。

相关推荐