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与ASP
Oct 09 PHP
用header 发送cookie的php代码
Mar 16 PHP
The specified CGI application misbehaved by not returning a complete set of HTTP headers
Mar 31 PHP
在PHP上显示JFreechart画的统计图方法
Nov 03 PHP
getJSON跨域SyntaxError问题分析
Aug 07 PHP
PHP实现绘制3D扇形统计图及图片缩放实例
Oct 01 PHP
利用PHP如何实现Socket服务器
Sep 23 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
Apr 17 PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
May 22 PHP
PHP数组去重的更快实现方式分析
May 09 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
PHP调用接口API封装的例子
Oct 11 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
php单一接口的实现方法
2015/06/20 PHP
PHP实现简单爬虫的方法
2015/07/29 PHP
PHP那些琐碎的知识点(整理)
2017/05/20 PHP
PDO::commit讲解
2019/01/27 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
2019/04/16 PHP
php接口隔离原则实例分析
2019/11/11 PHP
javascript  Error 对象 错误处理
2008/05/18 Javascript
很酷的javascript loading效果代码
2008/06/18 Javascript
jQuery弹出层插件简化版代码下载
2008/10/16 Javascript
jQuery下的几个你可能没用过的功能
2010/08/29 Javascript
Jquery下判断Id是否存在的代码
2011/01/06 Javascript
javascript延时加载之defer测试
2012/12/28 Javascript
10个JavaScript中易犯小错误
2016/02/14 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
2016/11/07 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
利用Js+Css实现折纸动态导航效果实例源码
2017/01/25 Javascript
微信小程序 sha1 实现密码加密实例详解
2017/07/06 Javascript
详解jquery和vue对比
2019/04/16 jQuery
解决Vue 移动端点击出现300毫秒延迟的问题
2020/07/21 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
python使用requests.session模拟登录
2019/08/09 Python
读取nii或nii.gz文件中的信息即输出图像操作
2020/07/01 Python
Python CategoricalDtype自定义排序实现原理解析
2020/09/11 Python
css3弹性盒子flex实现三栏布局的实现
2020/11/12 HTML / CSS
高清屏中使用Canvas绘图出现模糊的问题及解决方法
2019/06/03 HTML / CSS
美国汽车性能部件和赛车零件网站:Vivid Racing
2018/03/27 全球购物
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
Scotch Porter官方网站:男士美容产品
2020/08/31 全球购物
交通安全演讲稿
2014/01/07 职场文书
八年级数学教学反思
2014/01/31 职场文书
我的大学生活演讲稿
2014/04/25 职场文书
初三学习计划书范文
2014/04/30 职场文书
大学生工作自荐书
2014/06/16 职场文书
优秀护士事迹材料
2014/12/25 职场文书
CSS 左边固定宽右边自适应的6种方法
2022/05/15 HTML / CSS
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android