之前由于工作需要,需要实现将html内的一部分内容直接转为word和pdf的功能。就研究了一下方法并且实现了两个demo。今天先说一下html to word(才疏学浅,仅供交流,如有错误,请指出).

  首先,尝试了许多方法,在百度啊,谷歌等并没有发现有任何一个相应的库可以简单,准确,有格式的实现将指定内容转换为word导出。(如果你们发现了请分享哈,先谢过!)

  下面说我尝试的方法:

     那么最先找到的是ActiveXObjecttoWordExcel:JavaScript中ActiveXObject对象是启用并返回 Automation对象的引用。并且此对象仅在IE中支持,所以...这种显然不适合我们大多数人使用。如果你的需求只是IE6以上的话,那           么这不失为一种解决方法。

    第二种:html-docx,需要借助富文本编辑器,这个需要借助一个富文本编辑器,并将需要导入的内容写到富文本编辑器后在进行导出,,这种方式确实是可以导出的,不过如果你的界面没有富文本编辑器,就需要虚拟创建一            个富文本编辑器并将内容放入,然后再进行导出。不过略显麻烦。

    第三种:wordExport:也是我选取的方法。他可以将你需要的内容,不论是图片,标题,表格,内容等导出为word,但是你会发现没有什么格式可言,我采用的是最笨的方法(没有发现可以控制格式的方法,如果你有,请联系            我 TT),所有的格式包括首页等都是通过css控制进而写入的,展示效果还算不错。

  那么,如果你没有很好的库的支持,或者更好的办法(找到请分享哈),去导出图片,表格,内容到word,并且还包含格式控制,却需要做这么一个功能的话,我写了一个demo放在github, 你可以配置任何你需要的动态数据内容仅仅通过js。

  htmlToWordDemo的git地址:https://github.com/ch-zgh-1993/htmlToWordDemo  仅仅是一个demo(包含格式),若你加上你的内容,稍加修改,将会格局清晰,内容完整。欢迎大家批评指正和扩展。

  toPDF下次再发,若你急需,请联系我私发。

js实现htmlToWordDemo的更多相关文章

  1. Vue.js 和 MVVM 小细节

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...

  2. js学习笔记:操作iframe

    iframe可以说是比较老得话题了,而且网上也基本上在说少用iframe,其原因大致为:堵塞页面加载.安全问题.兼容性问题.搜索引擎抓取不到等等,不过相对于这些缺点,iframe的优点更牛,跨域请求. ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. JS调用Android、Ios原生控件

    在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...

  5. jquery和Js的区别和基础操作

    jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...

  6. 利用snowfall.jquery.js实现爱心满屏飞

    小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果. 第一步: 利用伪元素before和 ...

  7. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  8. JS正则表达式常用总结

    正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...

  9. 干货分享:让你分分钟学会 JS 闭包

    闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,很难从定义去理解它.因此,本文不会对闭包的概念进行大篇幅描述 ...

随机推荐

  1. WPF 自定义ColorDialog DropDownCustomColorPicker

    今天分享一个 WPF 版的ColorDialog,该控件源自 这里,不过笔者已经该控件做了大量的修改工作,以适应自己的产品需求,闲话少说,先看看效果图: 1.DropDownCustomColorPi ...

  2. 1005 Number Sequence

    Problem Description A number sequence is defined as follows:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) ...

  3. Docker - 在Windows7中安装Docker

    安装docker 1 - Virtualization Support Check whether virtualization support is enabled at BIOS via HAV ...

  4. 为Distinct准备的通用对比器

    使用Linq过滤重复对象的时候,我们使用Distinct. 但是Distinct对int long等值类型才有效果,对于对象我们需要自己写个对象. 以下利用泛型封装了两个类: CommonCompar ...

  5. 1.Tsung介绍(翻译)

    1.介绍 1.1什么是Tsung? Tsung(以前是IDX-Tsunami)是一种分布式负载测试工具.它是基于协议的,并且通常被用于压测HTTP, WebDAV, SOAP, PostgreSQL, ...

  6. ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据的传递

    前言 最近公司项目进行架构调整,由原来的三层架构改进升级到微服务架构(准确的说是服务化,还没完全做到微的程度,颗粒度没那么细),遵循RESTFull规范,使前后端完全分离,实现大前端思想.由于是初次尝 ...

  7. Item 27: 明白什么时候选择重载,什么时候选择universal引用

    本文翻译自<effective modern C++>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 博客已经迁移到这里啦 Item 26已经解释了,不管是对全局函数还是成员 ...

  8. 数据结构与算法系列研究七——图、prim算法、dijkstra算法

    图.prim算法.dijkstra算法 1. 图的定义 图(Graph)可以简单表示为G=<V, E>,其中V称为顶点(vertex)集合,E称为边(edge)集合.图论中的图(graph ...

  9. 学习笔记TF011:多层神经网络

    线性回归.对数几率回归模型,本质上是单个神经元.计算输入特征加权和.偏置视为每个样本输入特征为1权重,计算特征线性组合.激活(传递)函数 计算输出.线性回归,恒等式(值不变).对数几率回归,sigmo ...

  10. Homebrew安装和使用

    ## homebrew使用1. 安装 `$ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/m ...