js将docx转换为html,js实现word转换为html[通俗易懂]

js将docx转换为html,js实现word转换为html[通俗易懂]前言最近接到一个需求,实现上传一个word文档,然后将该word转换成html丢给服务端存上。进行技术调研后发现有三种方法可以实现这个功能:ActiveXObject、docx2html、mammoth。IE的ActiveXObjectvaroWordApp=newActiveXObject(“Word.Application”);varoDocument=oWordApp.Docum…

大家好,又见面了,我是你们的朋友全栈君。

前言

最近接到一个需求,实现上传一个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

使用方法:

// html 部分

// js部分

handleFileSelect(event){

require(“docx2html”)(event.target.files[0]).then(function(converted){

console.log(converted)

document.querySelector(‘textarea’).value=converted.toString()

})

}

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

61edea1712d5450bcf2c106a03ace4c7.png

mammoth.js

使用方法:

//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(/

.replace(/>/g, ‘>’);

},

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

16bbb9663e58a4f7430057a59077a09a.png

在Ubuntu环境把PPT和Word转换为swf文件

项目需要一个在线浏览文档的功能,于是参照网上的代码写了一份利用Microsoft Office 2010和swftools-2013-04-09-1007.exe转换的程序 思路:调用电脑本机的off …

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

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

使用poi将word转换为html

使用poi将word转换为html,支持doc,docx,转换后可以保持文字.表格.图片.样式 演示地址: https://www.xiaoyun.studio/app/preview.html 完整 …

Word转换为图片PDF

1.        Word转换为PDF,程序很多,但转换后的PDF,还可以复制,虽可以加密禁止复制,但市场上太多的PDF,还可以把PDF转换Word等其他格式,很容易被别人利用和剽窃,即便是PDF加 …

Js使用word书签填充内容

Js使用word书签填充内容 1.在模板文件中需要填充的地方插入书签 填充内容为:(|光标所在处) 填写书签名,点击添加完成: 2.使用js打开模板,获取书签位置,填充数据: function pri …

js中字符串转换为数值的两种方法的区别

在js中字符串转换为数值的方法有三种:转换函数,强制类型转换,隐式转换 1.转换函数 parseInt()   //将字符串转换为整型 parseFloat()  //将字符串转换为浮点型 转换函数在 …

C#,VB.NET如何将Word转换为PDF和Text

众所周知,Word是我们日常工作中常用的办公软件之一,有时出于某种需求我们需要将Word文档转换为PDF以及Text.那么如何以C#,VB.NET编程的方式来实现这一功能呢? 下面我将分开介绍如何运用 …

Word转换为markdown

Word转换为markdown 首先你的电脑要有office word 1   安装pandoc https://github.com/jgm/pandoc/releases,可以找到最新的pando …

UiPath之Word转换为PDF

前几天在手机上看到其他的文章,里面提到如何将Word转换为PDf,在UiPath的ManagePackage中,下载一个WordToPDF的包, 我按照上面的方法试着做了一下,但是在转换的时候很不稳定 …

随机推荐

初识linux

1.版本 稳定版本:偶数版如2.6.X 发展中的版本:奇数版如2.5.X linux distribution包含:linux kernel + free software + documentati …

Java中的字符串驻留

转自:http://www.cdtarena.com/javapx/201307/9088.html 最近在工作的时候,一句再正常不过的代码String a = “hello” + “world”;被 …

[HMLY]10.iOS中block的基础用法

本文简介 本章不会对Block做过多的实现研究.只是讲解基本的用法.纯粹基础知识.结合实际项目怎么去做举例.Block使用场景,可以在两个界面的传值,也可以对代码封装作为参数的传递等.用过GCD就知道 …

xjoi 2082: 小明的序列

本文为博主原创文章,未均允许…… 反正我也没法管对吧 www点cnblogs点com/AwD-/ 维护一个序列,初始全为\(1\) 支持两种操作: 1.对于所有的位置\(i\),将它的值乘上\(i + …

Visual studio2015 编译时提示“GenerateResource”任务意外失败。

今天弄了一个winfrom程序,狗血,一直报错,在另一台电脑上就不报错. 错误如下图 其实这样也能运行,但就是代码改之后,没有办法调试.搜了很久,发现了一种解决办法,完美解决. 最终成功了.

理解 Redis(8) – Ordered set 值

ordered set 是根据 score值有序排列的数据集合. 首先还是清空数据, 并清屏, 此步骤省略~~~~ 新建一条 ordered set 数据 myset1, 并存入4个字符串, scor …

SpringBoot之自定义验证码

代码地址如下:http://www.demodashi.com/demo/14280.html 项目介绍 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控 …

linux 在命令行中通过conda使用anaconda

在 ~/.bash_profile中添加 export PATH=”/home/taoke/anaconda/bin:$PATH”

iOS:绘图(18-01-25更)

目录 1.UIBezierPath(贝塞尔曲线) 1).在重写 drawRect: 方法里使用 2).在普通方法里使用,需要画布. 3). 切圆角.指定位置圆角.任意形状. 4).彩色的动画加载圆圈. …

HDU.2647 Reward(拓扑排序 TopSort)

HDU.2647 Reward(拓扑排序 TopSort) 题意分析 裸的拓扑排序 详解请移步 算法学习 拓扑排序(TopSort) 这道题有一点变化是要求计算最后的金钱数.最少金钱值是888,最少的 …

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160679.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月17日 下午4:00
下一篇 2022年7月17日 下午4:16


相关推荐

  • 数据库泄露导致信息泄露_数据库经历的五个阶段

    数据库泄露导致信息泄露_数据库经历的五个阶段前言最近用了公司某框架,部署到现场后,现场运维开始维护现场数据,在不断操作的过程中,系统崩溃,查看后台日志,druid连接池已经获取不到连接。于是开始了排查之旅。在此记录。排查开始首先后台的报错

    2022年8月6日
    8
  • c语言中 isalpha函数,C 库函数 – isalpha()函数

    c语言中 isalpha函数,C 库函数 – isalpha()函数isalpha 函数说明 isalpha 原型 externintisa intc isalpha 头文件 旧版本的编译器使用 isalpha 功能 判断字符是英文字母 isalpha 说明 判断字符是否为英文字母 若为英文字母 返回非 0 若不是字母 返回 0 1 判断是否是字母 include includevoidm void charc c getchar if isal

    2026年3月18日
    2
  • python numba_如何用numba加速python?

    python numba_如何用numba加速python?我把写好的 markdown 导入进来 但是没想到知乎的排版如此感人 如果对知乎排版不满想要看高清清爽版 请移步微信公众号原文如何用 numba 加速 python 同时欢迎关注前言说道现在最流行的语言 就不得不提 python 可是 python 虽然容易上手 但速度却有点感人 如何用简单的方法让 python 加速到近乎可以媲美 C 的速度呢 今天来就来谈谈 numba 这个宝贝 对你没看错 不是 numpy 就是 num

    2025年6月11日
    5
  • Django 安装_docker安装redis配置

    Django 安装_docker安装redis配置安装redis1.使用Homebrew安装Redisbrewinstallredis执行上述命令后出现以下内容,则成功安装Downloadfailed:https://mirrors.

    2022年8月7日
    11
  • LangChain 智能体Agent

    LangChain 智能体Agent

    2026年3月16日
    2
  • Android超方便 集成 Zxing实现扫一扫,闪光灯,生成二维码图片,解析二维码(条码)等功能

    Android超方便 集成 Zxing实现扫一扫,闪光灯,生成二维码图片,解析二维码(条码)等功能之前我写过一篇博客是关于如何将 zxing 集成到 AndroidStudi 中 以及简单的实现扫一扫功能 详情请看 AndroidStudi 集成 Zxing 扫一扫但是 上面那篇博客只有有一个扫一扫功能 而且在低分辨率手机上会出现变形的问题 扫描速度也比较慢 功能不是很全 没有闪光灯 生成二维码 解析二维码图片 解析条码图片等 这几天抽了点时间 将之前的代码完善了一下 主要是修复了一些 b

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号