php在程序中将网页生成word文档并提供下载的代码

2015-01-24信息快讯网

在php程序文件中生成内容到word文档中并提供下载功能的实现代码,需要的朋友可以参考下

在这篇文章中主要解决两个问题:

1:在php中如何把html中的内容生成到word文档中
2:php把html中的内容生成到word文档中时,不居中显示问题,即会默认按照web视图进行显示。
3:php把html中的内容生成到word文档中时,相关样式不兼容问题

正文:
 
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"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
<xml><w:WordDocument><w:View>Print</w:View></xml> 
<script src="includes/js/ztree/js/jquery-1.4.4.min.js" type="text/javascript"></script> 
</head>'; 
echo '<body><table class="table_dayin"> 
<caption class="table_caption">'; 
echo "数字化教学系统电子备课稿<br> 
<span>学科 <em style="border-bottom: 1px solid #545454;">语文</em>学校 <em style="border-bottom: 1px solid #545454;">实验中学</em></span> 
</caption>"; 
echo '</table></body></html>'; 
ob_start(); //打开缓冲区 
header("Cache-Control: public"); 
Header("Content-type: application/octet-stream"); 
Header("Accept-Ranges: bytes"); 
if (strpos($_SERVER["HTTP_USER_AGENT"],'MSIE')) { 
header('Content-Disposition: attachment; filename=test.doc'); 
}else if (strpos($_SERVER["HTTP_USER_AGENT"],'Firefox')) { 
Header('Content-Disposition: attachment; filename=test.doc'); 
} else { 
header('Content-Disposition: attachment; filename=test.doc'); 
} 
header("Pragma:no-cache"); 
header("Expires:0"); 
ob_end_flush();//输出全部内容到浏览器 

注:以上代码部分提供了在php程序文件中生成内容到word文档中并提供下载功能。
针对第2个问题,下载到本地的word文档打开后显示默认按照web视图进行显示的问题:如下图:
按照默认web视图显示:

 php在程序中将网页生成word文档并提供下载的代码_信息快讯网

如果按照正常的页面视图进行显示的话,需要在头部添加一行xml标示进行设置(蓝色代码部分):<xml><w:WordDocument><w:View>Print</w:View></xml>,添加后下载到本地的word文档打开后显示如下图:

 php在程序中将网页生成word文档并提供下载的代码_信息快讯网

针对第三个问题就是有一些样式不兼容问题,比如顶部的大标题下面的相关属性的下划线标注显示:

  我们在html中的样式中添加了border-bottom: 1px solid #545454;这个样式(蓝色代码部分),即:<em style="border-bottom: 1px solid #545454;">,但是下划线还是没有显示,因为在word中不识别。如下图:

 php在程序中将网页生成word文档并提供下载的代码_信息快讯网

解决方法就是按照word识别的下标样式进行更改,即:<em style="text-decoration: underline;">,更改为这个样式后,即在下载到本地的word文档打开后就有下划线标示显示了。

 php在程序中将网页生成word文档并提供下载的代码_信息快讯网

授之于鱼,不如授之于渔,我把我的关于这个解决样式不兼容的解决方法给大家分享一下:

   一:找个web版在线编辑器,然后在里面随便输入几个文字,然后添加下划线标示

   二:然后点击编辑器上面的查看源代码按钮,可以看到刚才添加的那个下划线标示的属性即为text-decoration: underline;而不是html中的样式标示:border-bottom: 1px solid #545454;

   好了,针对以上相关问题就到这里,如有问题请大家提出来,我们共同讨论解决哈。

php导出word文档与excel电子表格的简单示例代码
使用PHP导出Word文档的原理和实例
zend Framework中的Layout(模块化得布局)详解
解析在zend Farmework下如何创立一个FORM表单
解析zend Framework如何自动加载类
解析获取优酷视频真实下载地址的PHP源代码
如何在smarty中增加类似foreach的功能自动加载数据
解析php下载远程图片函数 可伪造来路
解析php多线程下载远程多个文件
探讨:如何使用PhpDocumentor生成文档
php 备份数据库代码(生成word,excel,json,xml,sql)
解析如何在PHP下载文件名中解决乱码的问题
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
深入理解curl类,可用于模拟get,post和curl下载
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
基于wordpress主题制作的具体实现步骤
整理的一些实用WordPress后台MySQL操作命令
将博客园(cnblogs.com)数据导入到wordpress的代码
PHP去掉从word直接粘贴过来的没有用格式的函数
记录PHP错误日志 display_errors与log_errors的区别
php排序算法(冒泡排序,快速排序)
仿Aspnetpager的一个PHP分页类代码 附源码下载
PHP实现下载功能的代码
Linux下CoreSeek及PHP扩展模块的安装
如何获知PHP程序占用多少内存(memory_get_usage)
PHP管理内存函数 memory_get_usage()使用介绍
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
PHP 中关于ord($str)&gt;0x80的详细说明
gd库图片下载类实现下载网页所有图片的php代码
PHP中防止直接访问或查看或下载config.php文件的方法
PHP5权威编程阅读学习笔记 附电子书下载
PHP中将网页导出为Word文档的代码
php的chr和ord函数实现字符加减乘除运算实现代码
PHP函数篇之掌握ord()与chr()函数应用
©2014-2024 dbsqp.com