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


Posted in PHP onJanuary 28, 2016

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

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

<?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();
//}
?>

下面给大家分享一段代码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 相关文章推荐
PHP脚本的10个技巧(6)
Oct 09 PHP
php select,radio和checkbox默认选择的实现方法
May 15 PHP
使用php get_headers 判断URL是否有效的解决办法
Apr 27 PHP
coreseek 搜索英文的问题详解
Jun 08 PHP
PHP定时更新程序设计思路分享
Jun 10 PHP
Yii2 ActiveRecord多表关联及多表关联搜索的实现
Jun 30 PHP
Laravel4中的Validator验证扩展用法详解
Jul 26 PHP
PHP支付系统设计与典型案例分享
Aug 02 PHP
PHP页面间传递值和保持值的方法
Aug 24 PHP
php与c 实现按行读取文件实例代码
Jan 03 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
Mar 15 PHP
PHP实现的操作数组类库定义与用法示例
May 24 PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
Jan 28 #PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
Jan 27 #PHP
PHP文件上传之多文件上传的实现思路
Jan 27 #PHP
PHP内核学习教程之php opcode内核实现
Jan 27 #PHP
PHP编程入门的基本语法知识点总结
Jan 26 #PHP
PHP数组游标实现对数组的各种操作详解
Jan 26 #PHP
PHP面向对象程序设计实例分析
Jan 26 #PHP
You might like
第二节--PHP5 的对象模型
2006/11/16 PHP
PHP 替换模板变量实现步骤
2009/08/24 PHP
php查看当前Session的ID实例
2015/03/16 PHP
thinkphp3.2框架中where条件查询用法总结
2019/08/13 PHP
js中更短的 Array 类型转换
2011/10/30 Javascript
js Function类型
2011/12/04 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
2013/09/12 Javascript
js实现可控制左右方向的无缝滚动效果
2016/05/29 Javascript
vue开发调试神器vue-devtools使用详解
2017/07/13 Javascript
jquery 键盘事件的使用方法详解
2017/09/13 jQuery
使用vs code开发Nodejs程序的使用方法
2017/09/21 NodeJs
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
Vue2.0结合webuploader实现文件分片上传功能
2018/03/09 Javascript
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
[57:38]2018DOTA2亚洲邀请赛3月30日 小组赛A组 OpTic VS OG
2018/03/31 DOTA
[05:31]干嘛呢兄弟!DOTA2 TI9语音轮盘部分出处
2019/05/14 DOTA
Python利用pyHook实现监听用户鼠标与键盘事件
2014/08/21 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
python飞机大战 pygame游戏创建快速入门详解
2019/12/17 Python
使用Jupyter notebooks上传文件夹或大量数据到服务器
2020/04/14 Python
pandas读取csv文件提示不存在的解决方法及原因分析
2020/04/21 Python
Python识别处理照片中的条形码
2020/11/16 Python
HTML5实现多张图片上传功能
2016/03/11 HTML / CSS
html5表单及新增的改良元素详解
2016/06/07 HTML / CSS
汽车队司机先进事迹材料
2014/02/01 职场文书
青年文明号服务承诺
2014/03/31 职场文书
我的中国梦演讲稿1000字
2014/08/19 职场文书
名人演讲稿范文
2014/09/16 职场文书
公路局群众路线教育实践活动第一阶段工作汇报
2014/10/25 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
付款证明格式范文
2015/06/19 职场文书
五年级数学教学反思
2016/02/16 职场文书
java如何实现socket连接方法封装
2021/09/25 Java/Android
Sql Server 行数据的某列值想作为字段列显示的方法
2022/04/20 SQL Server