当前位置:首页 > PHP教程 > php高级应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-07-07 14:13:59 浏览: 评论:0 

这篇文章主要介绍了实例详解PHP中html word 互转的方法的相关资料,涉及到php html word互转的相关知识,本文介绍的非常详细,具有参考借鉴价值。

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

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

  1. <?php  
  2. class word{ 
  3. function start(){ 
  4. ob_start(); 
  5. echo '<html xmlns:o="urn:schemas-microsoft-com:office:office" 
  6. xmlns:w="urn:schemas-microsoft-com:office:word" 
  7. xmlns="http://www.w3.org/TR/REC-html40">';  
  8. } 
  9. function save($path) 
  10. { 
  11. echo "</html>"; 
  12. $data = ob_get_contents(); 
  13. } 
  14. function wirtefile($fn,$data){ 
  15. $fp=fopen($fp,$data); 
  16. fwrite($fp,$data); 
  17. } 
  18. } 
  19. $html=' 
  20. <table width=600 cellpadding="6" cellspacing="1" style="border:1px solid green;" style="border-collapse:collapse">  
  21. <tr style="border:1px solid green;">  
  22. <td style="border:1px solid green;">姓名</td>  
  23. <td style="border:1px solid green;">性别</td> 
  24. <td style="border:1px solid green;">年龄</td> 
  25. <td style="border:1px solid green;">爱好</td> 
  26. <td style="border:1px solid green;">备注</td>  
  27. </tr>  
  28. <tr style="border:1px solid green;">  
  29. <td style="border:1px solid green;">张三</td>  
  30. <td style="border:1px solid green;">男</td> 
  31. <td style="border:1px solid green;">32</td> 
  32. <td style="border:1px solid green;">足球</td> 
  33. <td style="border:1px solid green;">无</td>  
  34. </tr>  
  35. <tr style="border:1px solid green;">  
  36. <td style="border:1px solid green;">  
  37. 李四  
  38. </td>  
  39. <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> 
  40. </tr>  
  41. </table>  
  42. '; 
  43. //批量生成 
  44. //for($i=1;$i<3;$i++){ 
  45. $word = new word(); 
  46. $word->start(); 
  47. $wordname='个人测试php生成word.doc'; 
  48. echo $html; 
  49.  
  50. $word->save($wordname); 
  51. header('Content-type:application/word'); 
  52. header('Content-Disposition: attachment; filename='.$wordname.''); 
  53. //readfile($wordname); 
  54. ob_flush();//每次执行前刷新缓存 
  55. flush(); 
  56. //} 
  57. ?> 

下面给大家分享一段代码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了

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

注意:

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

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

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

Tags: PHP+html PHP+word

分享到: