【php教程】PHP中html word 互转方法分享

WBOY
發布: 2016-07-25 08:45:53
原創
1409 人瀏覽過
在php开发中,php如何实现html word互转的呢?有什么方法吗?下面就给大家介绍php将html转入word中的方法,这是经过测试的,这种方法有一点不好,html页面代码要写在php中,不过好歹能运行,看程序
class word{
function start(){
ob_start();
echo '
="urn:schemas-microsoft-comfficeffice"
xmlns:w="urn:schemas-microsoft-comffice:word"
xmlns="http://www.w3.org/TR/REC-html40">';
}
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
$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. 如果页面一直在加载,把文档重命名,然后在重新转。
以上就是本文全部内容,有兴趣的朋友可以自己试试,若有更好的实现html word互转的方法,欢迎分享给大家。
推荐阅读:php 中,数据排序的 无限极分类的 常用的分析手法



來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!