之前由于工作需要,需要实现将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. 关于Canvas Rect Transform 设置问题?

    Render Mode: Screen Space - Overlay:将UI放置在场景的上面,调节场景大小或调整分辨率,则Canvas也会随之调整. Screen Space - Camera:Ca ...

  2. [Linux] Linux 中的基本命令与目录结构

    Linux 中的基本命令与目录结构 目录 一.Linux 基本目录结构 二.基本命令 三.浏览目录 四.中间命令 五.更改密码 六.环境变量和 shell 变量 七.命令路径 八.文本编辑器 九.获取 ...

  3. CSS中的字体设置

    五大类:serif, sans-serif, monospace, cursive, fantasy serif 衬线字体,如 Big Caslon, 宋体 sans-serif 非衬线字体,如 He ...

  4. (详细)php实现留言板---会话控制-----------2017-05-08

    要实现留言功能,发送者和接受者必不可少,其次就是留言时间留言内容. 要实现的功能: 1.登录者只能查看自己和所有人的信息,并能够给好友留言 2.留言板页面,好友采取下拉列表,当留言信息为空时,显示提示 ...

  5. ST-4

    1.(49-7)使用下面的方法printPrimes()完成后面的问题: (a)为printPrimes()方法画控制流图. (b)考虑测试用例t1=(n=3)和t2=(n=5).即使这些测试用例游历 ...

  6. 时间序列预测之--ARIMA模型

    什么是 ARIMA模型 ARIMA模型的全称叫做自回归移动平均模型,全称是(ARIMA, Autoregressive Integrated Moving Average Model).也记作ARIM ...

  7. C# Webclient 和 Httpclient如何通过iis authentication 身份验证。

    前言: 该博客产生的背景是客户那边有部署网站的方法是iis windows authentication身份验证,而系统中使用Webclient来调用别的系统的方法.在此情况下,原本可以使用的功能,都 ...

  8. 查看当前用户名称:whoami命令

    没什么可讲的,就是显示当前用户名称,效果同"id -un"命令.

  9. 跨过Nginx上基于uWSGI部署Django项目的坑

    先说说他们的关系,Nginx和uWSGI都是Web服务器,Nginx负责静态内容,uWSGI负责Python这样的动态内容,二者配合共同提供Web服务以实现提高效率和负载均衡等目的.uWSGI实现了多 ...

  10. 记MSSQL数据库sa账号短时间密码失效问题

    在腾讯云服务器上安装了MSSQL2012,64位英文版本. sa账号的密码需要在一定时间内失效,无法访问.当时密码设置为admin@123. 最后修改了密码,改为比较复杂的密码,包含特殊字符,不包含a ...