Html转Word

目测方法大概有两种:

1.直接把html代码写入word   以二进制的方式

2.通过mnt这个介质   生成word

方法一(推荐):

造了个轮子  https://packagist.org/packages/cshaptx4869/html2word

如果觉得好用 点个star再走呗 https://github.com/cshaptx4869/html2word

  1. composer require cshaptx4869/html2word

方法二:

html文件直接写入word

注意:如果有图片的话,转为base64格式

  1. <?php
  2. /**
  3. * @desc 方法一、生成word文档
  4. * @param $content
  5. * @param string $fileName
  6. */
  7. function createWord($content = '', $fileName = '')
  8. {
  9. if (empty($content)) {
  10. return;
  11. }
  12. $content='<html
  13. xmlns:o="urn:schemas-microsoft-com:office:office"
  14. xmlns:w="urn:schemas-microsoft-com:office:word"
  15. xmlns="http://www.w3.org/TR/REC-html40">
  16. <meta charset="UTF-8" />'.$content.'</html>';
  17. if (empty($fileName)) {
  18. $fileName = date('YmdHis').'.doc';
  19. }
  20. file_put_contents($fileName, $content);
  21. }
  22.  
  23. /**
  24. * @desc 方法二、生成word文档并下载
  25. * @param $content
  26. * @param string $fileName
  27. */
  28. function downloadWord($content, $fileName=''){
  29.  
  30. if(empty($content)){
  31. return;
  32. }
  33. if (empty($fileName)) {
  34. $fileName = date('YmdHis').'.doc';
  35. }
    // header("location:xxx.doc");
  36. header("Cache-Control: no-cache, must-revalidate");
  37. header("Pragma: no-cache");
  38. header("Content-Type: application/octet-stream");
  39. header("Content-Disposition: attachment; filename={$fileName}");
  40.  
  41. $html = '<html xmlns:v="urn:schemas-microsoft-com:vml"
  42. xmlns:o="urn:schemas-microsoft-com:office:office"
  43. xmlns:w="urn:schemas-microsoft-com:office:word"
  44. xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
  45. xmlns="http://www.w3.org/TR/REC-html40">';
  46. $html .= '<head><meta http-equiv="Content-Type" content="text/html;charset="UTF-8" /></head>';
  47.  
  48. echo $html . '<body>'.$content .'</body></html>';
  49. }
  50.  
  51. createWord(file_get_contents('html2word.html'));
  52. downloadWord(file_get_contents('html2word.html'));

参考:

https://www.cnblogs.com/phphuaibei/archive/2011/11/30/2269427.html

http://www.cnitblog.com/CoffeeCat/archive/2008/08/07/47753.html

https://segmentfault.com/a/1190000006290039

PHP导出为Word格式的更多相关文章

  1. 使用NPOI将数据导出为word格式里的table

    开发环境:VS2013+MySQL5.5+EF6+NPOI2.0.6 格式:WinForm+CodeFirst PS:vs2013的CodeFirst很方便了啊 CodeFirst方式就不再赘述了. ...

  2. 关于markdown(typora)的操作指南,以及导出为word格式文件插件(pandoc-2.6-windows-x86_64)的下载

    Markdown简介 插件链接文章结尾处 目录 Markdown简介1. Markdown是什么?2. 谁创造了它?3. 为什么要使用它?4. 怎么使用?4.1 标题4.2 段落4.3 区块引用4.4 ...

  3. PowerDesigner逆向操作(从mysql5.0生成数据库的物理模型),把Comment写到name中,pdm文件导出为word

    PowerDesigner逆向操作(从mysql5.0生成数据库的物理模型) 环境:powderdesigner12.5:mysql5.0步骤:1. 为指定的数据库配置mysql的ODBC数据源先下载 ...

  4. RDLC - 后台代码直接导出Excel/PDF/Word格式

    最近做报表功能,用到了.net的报表组件rdlc. 其中有个功能就是后台代码直接输出Excel/PDF/Word格式的文件,网上看了些资源,做个总结: 参考地址 我直接贴出代码: //自动导出exce ...

  5. Java 将html导出word格式

    @RequestMapping("download") public void exportWord( HttpServletRequest request, HttpServle ...

  6. Java 实现HTML富文本导出至word完美解决方案

    一. 问题的提出 最近用java开发一个科技项目信息管理系统,里面有一个根据项目申请书的模板填写项目申报信息的功能,有一个科技项目申请书word导出功能. 已有的实现方式:采用标准的jsp模板输出实现 ...

  7. StarkSoft题库管理系统(二)--生成word格式试卷

    一.功能介绍    1.自定义试题库管理系统目录.难易程度,题型,知识库等.    2.试题录入.    3.强大的试题编辑功能,并与通常应用编辑工具有共通.    4.灵活的试卷构造功能,用户可自定 ...

  8. java导出生成word(类似简历导出)

    参考帖子: http://www.cnblogs.com/lcngu/p/5247179.html http://www.cnblogs.com/splvxh/archive/2013/03/15/2 ...

  9. java导出生成word

    最近做的项目,需要将一些信息导出到word中.在网上找了好多解决方案,现在将这几天的总结分享一下. 目前来看,java导出word大致有6种解决方案: 1:Jacob是Java-COM Bridge的 ...

随机推荐

  1. linux常用命令:chmod 命令

    chmod命令用于改变linux系统文件或目录的访问权限.用它控制文件或目录的访问权限.该命令有两种用法.一种是包含字母和操作符表达式的文字设定法:另一种是包含数字的数字设定法. Linux系统中的每 ...

  2. pdf2swf 中文乱码问题

    准备资料: 1.xpdfbin-win-3.03.zip.xpdf-chinese-simplified.tar.gz 下载地址:http://www.foolabs.com/xpdf/downloa ...

  3. jQuery 是javascript的一个库(常用插件、处理器)

    jQuery校验官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuery就是javascript的一个库,把我 ...

  4. live555 编译

    项目里面需要简单的rtsp服务器来实现视频预览等功能: rtsp本来不是太复杂的东西,github上有很多功能都比较完善的项目可以随便拿来用,但是测试过程中发现live555还是有性能上的一些差异: ...

  5. Python Web学习笔记之面试TCP的15个问题

    网络协议那么多,为什么面试喜欢问TCP?原因无外乎两个:1.TCP协议直接与进程打交道,写网络程序要用:2.TCP协议设计十分精巧,在一个不可靠的IP网络上实现了可靠传输,因为精巧,掌握TCP的原理自 ...

  6. 02: tornado进阶篇

    目录:Tornado其他篇 01: tornado基础篇 02: tornado进阶篇 03: 自定义异步非阻塞tornado框架 04: 打开tornado源码剖析处理过程 目录: 1.1 自定制t ...

  7. CAN/J1850/

    (1)CAN:(差分信号)有信号CANH=3.5V,CANL=1.5V, 没有信号CANH=2.5V,CANL=2.5V 速率:CAN系统又分为高速和低速,高速CAN系统采用硬线是动力型,速度:500 ...

  8. 探索Java8:(二)Function接口的使用

    Java8 添加了一个新的特性Function,顾名思义这一定是一个函数式的操作.我们知道Java8的最大特性就是函数式接口.所有标注了@FunctionalInterface注解的接口都是函数式接口 ...

  9. IDEA 插件-码云

    插件安装 最新插件版本: 2018.3.1.(2019-01-10 发布)注意:码云 IDEA 插件已由 gitosc 更名为 gitee.新版插件 gitee 菜单已经和 git 菜单合并 通过「插 ...

  10. 《Python程序设计(第3版)》[美] 约翰·策勒(John Zelle) 第 1 章 答案

    判断对错1.计算机科学是计算机的研究.2.CPU 是计算机的“大脑”.3.辅助存储器也称为 RAM.4.计算机当前正在处理的所有信息都存储在主存储器中.5.语言的语法是它的意思,语义是它的形式.6.函 ...