前言

最近接到一个需求,实现上传一个word文档,然后将该word转换成html丢给服务端存上。进行技术调研后发现有三种方法可以实现这个功能:ActiveXObjectdocx2htmlmammoth

IE的 ActiveXObject

    var oWordApp=new   ActiveXObject("Word.Application");      var oDocument=oWordApp.Documents.Open("C://test.doc");      oDocument.SaveAs("C://test.html", 10)

缺点:只有IE才有这个东西

docx2html

Git地址:https://github.com/lalalic/docx2html

使用方法:

// html 部分
<input type="file" @change="handleFileSelect">
<textarea id="text"></textarea>// js部分
handleFileSelect(event){require("docx2html")(event.target.files[0]).then(function(converted){console.log(converted)document.querySelector('textarea').value=converted.toString()})
}

缺点:只能将简单的docx文件转化成html,复杂点的就报错了,如图:

mammoth.js

Git地址:https://github.com/mwilliamson/mammoth.js

中文文档地址:https://www.helplib.com/GitHub/article_106969

使用方法:

    //html:部分<div class="container"><input id="document" type="file" @change="handleFileSelect" /><div class="row"><div class="span8"><div id="output" class="well"></div></div><div class="span4"><h3>Messages</h3><div id="messages"></div></div></div></div>
 //js:部分handleFileSelect(event) {this.readFileInputEventAsArrayBuffer(event,  (arrayBuffer) => {mammoth.convertToHtml({arrayBuffer: arrayBuffer}).then(this.displayResult).done();});},displayResult(result) {console.log(result)document.getElementById("output").innerHTML = result.value;var messageHtml = result.messages.map((message) => {return '<li class="' + message.type + '">' + this.escapeHtml(message.message) + "</li>";}).join("");document.getElementById("messages").innerHTML = "<ul>" + messageHtml + "</ul>";},readFileInputEventAsArrayBuffer(event, callback) {var file = event.target.files[0];var reader = new FileReader();reader.onload = function(loadEvent) {var arrayBuffer = loadEvent.target.result;callback(arrayBuffer);};reader.readAsArrayBuffer(file);},escapeHtml(value) {return value.replace(/&/g, '&amp;').replace(/"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;');},

缺点:只支持docx的word文档,并且转换后的标题没有居中,如图:

js实现word转换为html相关推荐

  1. js把word转html在线预览,js实现word转换为html

    前言 最近接到一个需求,实现上传一个word文档,然后将该word转换成html丢给服务端存上.进行技术调研后发现有三种方法可以实现这个功能:ActiveXObject.docx2html.mammo ...

  2. js把html转换成word,js实现word转换为html

    前言 最近接到一个需求,实现上传一个word文档,然后将该word转换成html丢给服务端存上.进行技术调研后发现有三种方法可以实现这个功能:ActiveXObject.docx2html.mammo ...

  3. 一键将Word转换为MarkDown

    ▌01 Word转换为Markdown 1.背景介绍 Word文档是由微软公司的Office办公室软件编辑生成的办公文档,是当今应用最为广泛的文件形式之一. Markdown 文档则以它简介的语法纯字 ...

  4. java 如何将word 转换为ftl_如何把word转化为pdf?职场达人必需的转换技巧

    原标题:如何把word转化为pdf?职场达人必需的转换技巧 小刘是做推广工作的,前两天我们要到某度上传文件,但是pdf格式的文件在那个平台上比较吃香!而我们日常在文件中编辑文字又都是以word的格式, ...

  5. android word转html标签,如何将Word转换为网页html格式的方法(附代码清理方法)

    Word是我们常用的的办公软件,广泛被运用,那么我们怎么把Word转换为网页html格式? 需要软件: word2003 或 wps 个人建议用wps更方便,word生成的图片容易重复 editplu ...

  6. java docx转html实例_Java实现将word转换为html的方法示例【doc与docx格式】

    Java实现将word转换为html的方法示例[doc与docx格式] 发布于 2020-6-14| 复制链接 摘记: 本文实例讲述了Java实现将word转换为html的方法.分享给大家供大家参考, ...

  7. java markdown转word_一键将 Word 转换为 Markdown

    李缘 | | Stata 连享会 (知乎 | 简书 | 码云 方法一:Writage + Pandoc -- 双剑合璧! 打开 Writage网页,点击Download,再点击Download Now ...

  8. JS将数字转换为中文

    <!DOCTYPE html> <html> <head><meta charset="UTF-8"><title>JS ...

  9. winform实现word转换为PDF(.doc)

    注意:实现word转换为PDF文件,本人安装Office为2013; word以后缀为.doc为例实现文件类型转换,具体方式如下所示: 实现步骤: 1.添加命名空间引用--using Microsof ...

最新文章

  1. 【高并发】一个工作了7年的朋友去面试竟然被Thread类虐的体无完肤
  2. flex布局一行三个_CSS Flex布局
  3. django网上商城_网上商城开源项目合集
  4. Oracle:闪回,闪回表,闪回删除,闪回版本查询,闪回事务查询
  5. android 流量统计工具,Android 统计应用流量的使用情况
  6. linux自带mysql启动不_Linux系统自带的MySQL 数据库启动问题
  7. java ee 类切换_eclipse的工程类型切换
  8. ECshop sina
  9. 【优化充电】基于matlab多种遗传算法求解电动汽车有序充电优化问题【含Matlab源码 792期】
  10. cookie、session存储以及cookie使用环境 多数据存储批次加载渲染页面
  11. ESP8266/ESP32 +1.3“ or 0.96“ IIC OLED指针时钟+数字时钟显示
  12. 【算法】机器人走迷宫(适用于走迷宫、最短路径算法)-20200412
  13. 4.0 RTL8723DU驱动(wifi+蓝牙)
  14. [Jenkins]jenkins配置163邮箱做邮件发送
  15. 洛谷 P2517 [HAOI2010]订货
  16. Spark中cache、persist、checkpoint区别
  17. 【干货】 xgboost如何自定义eval_metric ( feval ) ?
  18. 百度地图线路颜色_山东到底发展成了什么样子,这两张地图不会说谎
  19. 逻辑漏洞----其他类型
  20. android gone动画_java – Android添加简单的动画,而setvisibility(view.Gone)

热门文章

  1. 51nod题解 1006 最长公共子序列LCS
  2. 如何在注册表中删除用户帐户信息。
  3. 手机linux游戏,无聊的教室游戏下载(附攻略)-无聊的教室手机版v1.0.0-Linux公社
  4. FPGA--(基于Quartus的FPAG程序下载与固化教程)VGA显示实验之上板测试
  5. 美团点评将全面迎战百度、阿里、携程
  6. API接口安全思考和最佳实践
  7. 程序员自我修养-总结 (1)
  8. 下拉菜单和文本框结合
  9. 4/2 三元表达式/函数递归/匿名函数/内置函数
  10. 关于富勒-富勒旗舰店- 天猫Tmall.com