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


Posted in PHP onOctober 09, 2012

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

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 相关文章推荐
PHP随机数生成代码与使用实例分析
Apr 08 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
php session劫持和防范的方法
Nov 12 PHP
php 生成自动创建文件夹并上传文件的示例代码
Mar 07 PHP
基于PHP实现的事件机制实例分析
Jun 18 PHP
Symfony2实现在doctrine中内置数据的方法
Feb 05 PHP
php数据访问之查询关键字
May 09 PHP
php 判断过去离现在几年的函数(实例代码)
Nov 15 PHP
Ubuntu上安装yaf扩展的方法
Jan 29 PHP
php面试中关于面向对象的相关问题
Feb 13 PHP
PHP实现的用户注册表单验证功能简单示例
Feb 25 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
Mar 18 PHP
php排序算法(冒泡排序,快速排序)
Oct 09 #PHP
php全排列递归算法代码
Oct 09 #PHP
php列出一个目录下的所有文件的代码
Oct 09 #PHP
解析百度搜索结果link?url=参数分析 (全)
Oct 09 #PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
Oct 08 #PHP
php随机输出名人名言的代码
Oct 07 #PHP
PHP面向对象学习笔记之二 生成对象的设计模式
Oct 06 #PHP
You might like
某大型网络公司应聘时的笔试题目附答案
2008/03/27 PHP
浅析PHP文件下载原理
2014/12/25 PHP
PHP类的封装与继承详解
2015/09/29 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
js 实现无干扰阴影效果 简单好用(附文件下载)
2009/12/27 Javascript
Webkit的跨域安全问题说明
2011/09/13 Javascript
非常有用的40款jQuery 插件推荐(系列二)
2011/12/25 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
2016/06/28 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
2016/08/02 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
vue二级菜单导航点击选中事件的方法
2018/09/12 Javascript
node实现mock-plugin中间件的方法
2019/12/25 Javascript
koa2的中间件功能及应用示例
2020/03/05 Javascript
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
django使用图片延时加载引起后台404错误
2017/04/18 Python
基于python中的TCP及UDP(详解)
2017/11/06 Python
Python实现感知机(PLA)算法
2017/12/20 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
2018/09/14 Python
python实现修改固定模式的字符串内容操作示例
2019/12/30 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
django 实现手动存储文件到model的FileField
2020/03/30 Python
MyFrenchPharma中文网:最大的法国药妆平台
2016/10/07 全球购物
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
世界经理人咨询有限公司面试
2014/09/23 面试题
护理专业的自荐信
2013/10/22 职场文书
企业文化理念标语
2014/06/10 职场文书
教师遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
刑事撤诉申请书
2015/05/18 职场文书
JS继承最简单的理解方式
2021/03/31 Javascript
Python 视频画质增强
2022/04/28 Python
Django框架中视图的用法
2022/06/10 Python
Hive常用日期格式转换语法
2022/06/25 数据库
JS高级程序设计之class继承重点详解
2022/07/07 Javascript