之前项目里遇到一个需求,需要前端上传一个词文档,然后后端提取出该文档的指定位置的内容并保存。这里后端用的是nodejs,开始接到这个需求,发现无从下手,主要是没有处理过词这种类型的文档,怎么解析& # 63;Excel倒是有相关的库可以用,而且很简单
搜索了好一会儿,在npm上发现了一个叫做adm-zip的包,这个包可以解压缩词文档,原来词文档也是可以解压缩的,之前一直不知道,通过如下代码就可以将词文档解压缩,并进一步提取内容
var admZip=要求(“adm-zip”); const邮政=new admZip (“test.docx”);//将该多克斯解压到指定文件夹下结果 zip.extractAllTo (”。/结果”,/*覆盖*/真);
首先我们新建一个多克斯文档,内容如下
var contentXml=zip.readAsText(“词/document.xml”);
接下来是重点,如何提取我们想要的内容呢,答案是正则表达式,首先我们得分析一下词文档的结构,词文档其实是由叫做段落的段落所构成,在vb中可以很轻松的获取并修改段落,官网传送门点此