js把html转换成word,js实现word转换为html
前言
最近接到一个需求,实现上传一个word文档,然后将该word转换成html丢给服务端存上。进行技术调研后发现有三种方法可以实现这个功能:ActiveXObject、docx2html、mammoth。
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 部分
// 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:部分
Messages
//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 '
' + this.escapeHtml(message.message) + "";
}).join("");
document.getElementById("messages").innerHTML = "" + messageHtml + "";
},
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, '&')
.replace(/"/g, '"')
.replace(//g, '>');
},
缺点:只支持docx的word文档,并且转换后的标题没有居中,如图:
js把html转换成word,js实现word转换为html相关推荐
- js中将字符串转换成json的三种方式
ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5) 中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法. 1,eval方式解析,恐 ...
- js 中日期 转换成时间戳 例如2013-08-30 转换为时间戳
js 中日期 转换成时间戳 例如2013-08-30 转换为时间戳 热心网友 2018-11-18 js字符串转化时间戳可以使用自带函数 Date(要转化的时间字符串)先转化为Date类型,之后再将 ...
- js将阿拉伯数字转换成中文的大写数字
js将阿拉伯数字转换成中文的大写数字 export const numberToChinese = (num) => {var AA = new Array("零", &qu ...
- js 将日期转换成时间戳
接上一篇文章,用到了对时间的排序,来看下怎么把日期转换成时间戳吧! 一.日期转换成时间戳 js字符串转化成时间戳可以使用自带函数Date(要转化的时间字符串)先转化为Date类型,之后再将Date类型 ...
- js将数字转换成万、亿、万亿
// js将数字转换成万.亿.万亿 export const numberFormat = (value)=> {var param = {};var k = 10000,sizes = ['' ...
- 用原生js把数字转换成货币人民币表示带逗号表示方法
用原生js把数字转换成货币人民币表示带逗号表示方法 function rmb(str){let strArr = String( parseFloat(str).toFixed(2) ).split( ...
- js将秒转换成几天几小时几分几秒,每秒刷新
//js将秒转换成几天几小时几分几秒function getDuration(second) {var days = Math.floor(second / 86400);var hours = Ma ...
- 如何用js将日期转换成时间戳
一.日期转换成时间戳 js字符串转化成时间戳可以使用自带函数Date(要转化的时间字符串)先转化为Date类型,之后再将Date类型转化为时间戳类型,其中时间字符串有要求,形式必须是yyyy-MM-d ...
- 使用JS将GPRMC转换成WGS84/GCJ02
使用JS将GPRMC转换成WGS84/GCJ02 背景 Background 代码 Code GPRMC 转换成WGS84 WGS84转GCJ02 背景 Background 在物联网相关的 应用中, ...
- pdf转换成可编辑的word转换器
头条号:近期有不少网友向我咨询有关PDF转换成可编辑的Word文档的软件,小Q认为网上虽然有很多类似的PDF转换成Word转换器,但是从性能以及转换效果来看,迅捷PDF转换成Word转换器免费版v6. ...
最新文章
- Kotlin学习 PART 3:类,对象和接口
- sy-repid 和 sy-cprog的区别
- jstack命令使用
- Java基础---File类,就是这么简单
- oracle的文件管理ofm,oracle 文件管理功能
- 【路径规划】基于matlab GUI粒子群算法机器人避障路径规划【含Matlab源码 923期】
- python修改pdf元信息 metadata
- 梦想cms-v1.4-后台存在任意文件读取漏洞
- 【 数理逻辑 二 】逻辑概述、现代逻辑学发展历程和形式系统与形式语言
- 周鸿祎带头,十家安全公司接受了这些尖锐拷问
- SSS1540TypeC转3.5mm线控耳机方案(带按键)参考电路图
- 腾讯云直播SDK接入指南
- (通俗易懂~)Docker搭建Etcd集群
- 全球通史读书笔记上(第七章——战争的起源)
- C++笔记8:C++提高编程2:STL---标准模板库
- rust卡领地柜权限_rust一个领地柜有多大范围 | 手游网游页游攻略大全
- Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码正则表达式...
- 论文笔记--Quality Prediction of Asymmetrically Distorted Stereoscopic 3D Images
- MySQL 编译安装错误记录
- 离线安装K3S Server(v1.19.8+k3s1)