Home >php教程 >php手册 >实例详解PHP中html word 互转的方法,详解php

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

WBOY
WBOYOriginal
2016-06-13 08:46:451189browse

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

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

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

<&#63;php 
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_contents();
}
function wirtefile($fn,$data){
$fp=fopen($fp,$data);
fwrite($fp,$data);
}
}
$html='
<table width=600 cellpadding="6" cellspacing="1" style="border:1px solid green;" style="border-collapse:collapse"> 
<tr style="border:1px solid green;"> 
<td style="border:1px solid green;">姓名</td> 
<td style="border:1px solid green;">性别</td>
<td style="border:1px solid green;">年龄</td>
<td style="border:1px solid green;">爱好</td>
<td style="border:1px solid green;">备注</td> 
</tr> 
<tr style="border:1px solid green;"> 
<td style="border:1px solid green;">张三</td> 
<td style="border:1px solid green;">男</td>
<td style="border:1px solid green;">32</td>
<td style="border:1px solid green;">足球</td>
<td style="border:1px solid green;">无</td> 
</tr> 
<tr style="border:1px solid green;"> 
<td style="border:1px solid green;"> 
李四 
</td> 
<td style="border:1px solid green;">男</td><td style="border:1px solid green;">43</td><td style="border:1px solid green;">篮球</td><td style="border:1px solid green;">无</td>
</tr> 
</table> 
';
//批量生成
//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();
//}
&#63;>

下面给大家分享一段代码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. 如果页面一直在加载,把文档重命名,然后在重新转。

您可能感兴趣的文章:

  • php实现将上传word文件转为html的方法
  • WordPress中转义HTML与过滤链接的相关PHP函数使用解析
  • php实现word转html的方法
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn