当前位置: 首页 > article >正文

一种批量将本地word文档转成html的方法【基于node.js】

如果你有一种需求需要批量转换本地的word文档成html,简单—安排上

第一步:将所有需要转换的文档放入同一个文件夹内

比如文件夹命名为batch

第二步:使用fs的readdir方法阅读文件夹中的文档

let files = await fs.readdir(__dirname + '/batch');
let fileArr = []

遍历

for (const file of files) {
        if(file.endsWith('.docx')){
            const filePath = path.join(__dirname + '/batch', file);
            let data = await fs.readFile(filePath)
        }
    }

第三步:使用mammoth.convertToHtml将二进制文件转成html

let htmlText = await mammoth.convertToHtml({buffer: data})
let fileExt = {
       fileName:file,
       fileBuffer:htmlText.value
    }
	fileArr.push(fileExt)

完整代码为:

const Koa = require('koa');
const fs = require('fs').promises;
const app = new Koa();
const path = require('path')


// 将docx文件转成html
const mammoth = require("mammoth");

var saveDoc = async (ctx, next) => {
    let files = await fs.readdir(__dirname + '/batch');
    let fileArr = []
    for (const file of files) {
        if(file.endsWith('.docx')){
            const filePath = path.join(__dirname + '/batch', file);
            let data = await fs.readFile(filePath)
            try{
                let htmlText = await mammoth.convertToHtml({buffer: data})
                let fileExt = {
                    fileName:file,
                    fileBuffer:htmlText.value
                }
                fileArr.push(fileExt)
            }catch(err){
                console.log(err)
            }
        }
    }
    ctx.body = {
        code:'200',
        data:fileMap,
        msg:'成功'
    }
};

module.exports = {
  'POST /saveDoc': saveDoc,
};

http://www.kler.cn/a/576717.html

相关文章:

  • Java基础面试题全集
  • k8s概念及k8s集群部署(Centos7)
  • docker中kibana启动后,通过浏览器访问,出现server is not ready yet
  • SQL语法通用解析
  • 爬虫面试:关于爬虫破解验证码的13个经典面试题
  • 【网工面试】网络工程师面试问题与答案(一)
  • 电脑总显示串口正在被占用处理方法
  • C# | 委托 | 事件 | 异步
  • selenium 组成和原理
  • 【JavaEE】-- 多线程(初阶)4
  • Springboot集成dubbo完整过程(三)
  • nginx配置自动更新dns缓存
  • 【每日学点HarmonyOS Next知识】Web跨域资源、Web长按菜单、Web拦截请求、禁止录屏、Base64图片宽高
  • 蓝桥备赛(12)- 顺序表和 vector(下)
  • java中小型公司面试预习资料(二):Redis
  • 执行计划 统计信息相关 SQL_MONITOR display_cursor
  • MetaGPT发布的MGX与Devin深度对比
  • C# 中的多线程同步机制:lock、Monitor 和 Mutex 用法详解
  • Python 实现多语言朗读与单词选择测验程序
  • ESP32的IDF开发学习-驱动gc9a01屏幕