实例详解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代码包装修正版
Mar 15 PHP
PHP 反射机制实现动态代理的代码
Oct 22 PHP
UTF8编码内的繁简转换的PHP类
Jul 09 PHP
PHP运行时强制显示出错信息的代码
Apr 20 PHP
PHP中实现中文字符进制转换原理分析
Dec 06 PHP
细谈php中SQL注入攻击与XSS攻击
Jun 10 PHP
利用php实现禁用IE和火狐的缓存问题
Dec 03 PHP
Laravel 4 初级教程之Pages、表单验证
Oct 30 PHP
php实现的简单美国商品税计算函数
Jul 13 PHP
php检查字符串中是否有外链的方法
Jul 29 PHP
如何使用PHP对网站验证码进行破解
Sep 17 PHP
php/JS实现的生成随机密码(验证码)功能示例
Jun 06 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
vBulletin Forum 2.3.xx SQL Injection
2006/10/09 PHP
关于jquery动态增减控件的一些想法和小插件
2010/08/01 Javascript
超越Jquery_01_isPlainObject分析与重构
2010/10/20 Javascript
chrome原生方法之数组
2011/11/30 Javascript
基于jquery的代码显示区域自动拉长效果
2011/12/07 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
2013/06/08 Javascript
javascript 实现 原路返回
2015/01/21 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
2015/03/04 Javascript
json+jQuery实现的无限级树形菜单效果代码
2015/08/27 Javascript
Bootstrap每天必学之标签与徽章
2015/11/27 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
2016/07/04 Javascript
AnjularJS中$scope和$rootScope的区别小结
2016/09/18 Javascript
深入理解Vue官方文档梳理之全局API
2017/11/22 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
2019/04/29 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
2019/10/11 Javascript
Vue 数组和对象更新,但是页面没有刷新的解决方式
2019/11/09 Javascript
微信小程序实现时间戳格式转换
2020/07/20 Javascript
Python 操作MySQL详解及实例
2017/04/30 Python
基于Django的ModelForm组件(详解)
2017/12/07 Python
python实现数据预处理之填充缺失值的示例
2017/12/22 Python
Python数据持久化shelve模块用法分析
2018/06/29 Python
Python输出\u编码将其转换成中文的实例
2018/12/15 Python
Jo Malone美国官网:祖玛珑香水
2017/03/27 全球购物
Myprotein法国官网:欧洲第一运动营养品牌
2019/03/26 全球购物
软件工程师面试题
2012/06/25 面试题
小学生考试获奖感言
2014/01/30 职场文书
银行职员个人的工作自我评价
2014/02/15 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
药店促销活动总结
2014/07/10 职场文书
先进个人推荐材料
2014/12/29 职场文书
个人事迹材料范文
2014/12/29 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
2015年大学迎新工作总结
2015/07/16 职场文书
Python基础之pandas数据合并
2021/04/27 Python
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis
【海涛dota解说】DCG联赛第一周 LGD VS DH
2022/04/01 DOTA