office

位置:IT落伍者 >> office >> 浏览文章

把网页生成word文档并提供下载


发布日期:2021年01月16日
 
把网页生成word文档并提供下载

在php中如何把html中的内容生成到word文档中

php把html中的内容生成到word文档中时不居中显示问题即会默认按照web视图进行显示

php把html中的内容生成到word文档中时相关样式不兼容问题

正文

echo <html xmlns:o=urn:schemasmicrosoftcom:office:office xmlns:w=urn:schemasmicrosoftcom:office:word xmlns=/TR/REChtml>

<head>

<meta httpequiv=ContentType content=text/html; charset=utf/>

<xml><w:WordDocument><w:View>Print</w:View></xml>

<script src=includes/js/ztree/js/jqueryminjs type=text/javascript></script>

</head>;

echo <body><table class=table_dayin>

<caption class=table_caption>;

echo 数字化教学系统电子备课稿<br>

<span>学科 <em >语文</em>学校 <em >实验中学</em></span>

</caption>;

echo </table></body></html>;

ob_start(); //打开缓沖区

header(CacheControl: public);

Header(Contenttype: application/octetstream);

Header(AcceptRanges: bytes);

if (strpos($_SERVER[HTTP_USER_AGENT]MSIE)) {

header(ContentDisposition: attachment; filename=testdoc);

}else if (strpos($_SERVER[HTTP_USER_AGENT]Firefox)) {

Header(ContentDisposition: attachment; filename=testdoc);

} else {

header(ContentDisposition: attachment; filename=testdoc);

}

header(Pragma:nocache);

header(Expires:);

ob_end_flush();//输出全部内容到浏览器

以上代码部分提供了在php程序文件中生成内容到word文档中并提供下载功能

针对第个问题下载到本地的word文档打开后显示默认按照web视图进行显示的问题如下图

按照默认web视图显示

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

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

我们在html中的样式中添加了borderbottom: px solid #;这个样式(蓝色代码部分)<em >但是下划线还是没有显示因为在word中不识别如下图

解决方法就是按照word识别的下标样式进行更改<em >更改为这个样式后即在下载到本地的word文档打开后就有下划线标示显示了

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

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

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

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

               

上一篇:深入解析contentWindow, contentDocument

下一篇:WordPress禁止输出错误信息设置方法