最近接触了了一个简历管理的项目,需要将简历上传之后解析出里面的字段内容(如姓名、性别、教育经历、工作经历等),存入数据库中。简历的格式都是标准的格式,可参考猎聘下载下来的格式。

毫无疑问,第一个难点就是如何解析word的内容。

到npm去搜了一下相关的包,都不满足我的需求,直到发现了adm-zip这个包,这个包可以解压缩文件。其实word就是一个压缩包,把word解压后,有一个document.xml,里面就存放了word的内容,只需要解析这个xml文件就可以获取到数据了。

const admZip = require('adm-zip');// 解压word文档
const zip = new admZip('2.docx');
zip.extractAllTo('./output/2', true);// 提取内容
let contentXml = zip.readAsText("word/document.xml");
//console.log(contentXml);// 正则匹配文字
let matchWT = contentXml.match(/(<w:t>.*?<\/w:t>)|(<w:t\s.[^>]*?>.*?<\/w:t>)/gi);
matchWT = filter(matchWT);
console.log(matchWT);/*** 去除空白行* @param matchWT*/
function filter(matchWT) {let res = [];matchWT.forEach(function(wtItem) {//如果不是<w:t xml:space="preserve">格式if (wtItem !== '<w:t xml:space="preserve"> </w:t>') { {wtItem = wtItem.split('>');wtItem = wtItem[1].split('<');res.push(wtItem[0]);}});return res;
}

这样,我们就可以将简历的内容放入数组中,通过遍历数组就能匹配到对应的字段了。

在解压缩word文档的时候发现这个只能解压缩docx格式的文档,不能解析doc格式的文档。

node.js解析word文档相关推荐

  1. java word库_几种解析Word文档的Java类库比较

    推荐指数:⭐ 因为之前做过EXCEL的解析,所以我首选就是POI,然而经过调查之后发现POI解析Word文档就是个坑,非常难用不说,有些功能还不支持.试验一番之后不得不放弃了. 推荐指数:⭐⭐⭐ 发现 ...

  2. js导出word文档 可以兼容IE8+浏览器适配其他浏览器

    js导出word文档,兼容IE8浏览器 其他浏览器需要引入两个文件:FileSaver.js 和 jqueryWordExport.js 需要兼容IE8浏览器需要引用:FileSaver.js exc ...

  3. Java解析word文档,将word文档题库选择题导入

    学习目标: Java解析word文档,将word文档题库导入 学会word文档的解析,以及各种题型的导入 学习内容: 解析word文档 获取正文文件内容 doc和docx两种解析 解析word文档 p ...

  4. 是的你没看错,js生成word文档

    用js生成word文档 查看Demo 你可以生成一份 word 文档,在此文档中可以添加多种元素并设置多种属性. 可添加的元素 段落 超链接 标题 表格 列表 图片 可设置的属性 font:字体,比如 ...

  5. 浅谈Word.Application,关于js操作word文档的使用

    这篇文章只是说个人放个笔记在这里,并没有讲解的意思,但为了进来的朋友能知道我在说啥,写的过程中我还是简单介绍一下. 官网地址:https://docs.microsoft.com/zh-cn/offi ...

  6. 使用jquery.wordexport.js导出word文档 设置行间距不生效问题

    在使用jquery.wordexport.js导出word文档时  在js里设置的style  margin-top不生效   生成的doc还是没有行间距 一通百度后  发现没用解决方法 后来发现有位 ...

  7. poi解析word文档(解析表格,emf,wmf,svg转jpg图片)

    POI解析word文档 poi解析word的表格:   提前先准备需要的jar包:   <!-- poi --><dependency><groupId>org.a ...

  8. java解析简历_java:解析word文档(前程无忧简历),最好有代码案例?poi或者jacob解析都可以,有jar资源,求急。感谢...

    展开全部 poi读取前程无忧的简历会打不开的,至少我以前读是这样的,因为他有时候是mht文件32313133353236313431303231363533e59b9ee7ad943133336131 ...

  9. java如何解析word大纲_Java POI 解析word文档

    实现步骤: 1.poi实现word转html 2.模型化解析html 3.html转Map数组 Map数组(数组的操作处理不做说明) 1.导jar包. 2.代码实现 package com.web.o ...

最新文章

  1. CNCF宣布containerd毕业
  2. CLLocationManager 位置定位
  3. 2.2.1生成数 自数
  4. python调整数组顺序使奇数位于偶数前面
  5. 自动化 CICD 与灰度发布
  6. 广文艺计算机综合美术,广东文艺职业学院2018年第二批合同制人员招聘专业技能考核和试讲题目...
  7. SAP ABAP Platform 1909最新版的 docker 镜像
  8. 学习Spring Boot:(五)使用 devtools热部署
  9. 可扩展的通用异常检测系统 EGADS
  10. 网络安全——终端安全
  11. 小鹤双拼学习指引-by小鹤双拼作者-散步的鹤
  12. 弘辽科技:淘宝评分飘绿四大原因及快速提高评分之解决技巧
  13. 未来规划——北京大学数院432应用统计备考攻略
  14. URL是什么意思 ? URL介绍
  15. Jmeter个人使用部分整理2021
  16. Oracle SQL
  17. 如何在Python中调用C++程序?(文中以Opencv为例,在Python中调用C++的Opencv)
  18. 71 ----二次曲面方程:椭球面、双曲面、抛物面、二次曲面的种类
  19. 2017年5月14日 星期日 --出埃及记 Exodus 26:2
  20. 从大盘数据看A股是否为政策市

热门文章

  1. rhq监控软件_用RHQ监视怪物
  2. YOLOv3使用笔记
  3. ArcGIS GeoEvent 使用教程(一)
  4. 虚拟盒子下装linux系统,eUnoBox(虚拟盒子) v3.14免费版
  5. Python报错TypeError: Descriptors cannot not be created directly
  6. 總結——關於2017 11 3測試的分析總結
  7. IE加载ocx时提示控件不安全的解决方法
  8. 易周金融 | 邮惠万家银行开业;微信公众号叫停四类金融营销宣传
  9. 人工智能:确定性推理
  10. 使用GIS空间分析进行植物生长区域选址(附练习数据下载)