用于在客户端上读取doc和docx的JavaScript库

时间:2017-06-22 12:01:37

标签: javascript ms-word docx

我正在搜索一个JavaScript库,它可以读取.doc - 和.docx个文件。重点仅放在文本内容上。我对MS-Word文件中的图片,公式或其他特殊结构不感兴趣。

如果库与JavaScript FileReader一起使用会很好,如下面的代码所示。

function readExcel(currfile) {
  var reader = new FileReader();

  reader.onload = (function (_file) {
      return function (e) {
          //here should the magic happen
      };
  })(currfile);

  reader.onabort = function (e) {
      alert('File read canceled');
  };

  reader.readAsBinaryString(currfile);
}

我通过互联网搜索,但我无法得到我想要的东西。

2 个答案:

答案 0 :(得分:2)

你可以使用docxtemplater(即使通常情况下,它用于模板,它也可以只获取文档的文本):

firebase login

有关安装信息,请参阅the Doc(我是该项目的维护者)

但是,它只处理docx,而不是doc

答案 1 :(得分:0)

现在您无需安装外部依赖项就可以从doc / docx中提取文本内容。

您可以使用名为any-text的节点库

当前,它支持许多文件扩展名,例如PDF,XLSX,XLS,CSV等

用法非常简单:

  • 将库安装为依赖项(/ dev-dependency)
npm i -D any-text
  • 利用getText方法读取文本内容
var reader = require('any-text');

reader.getText(`path-to-file`).then(function (data) {
  console.log(data);
});
  • 您还可以使用async/await表示法
var reader = require('any-text');

const text = await reader.getText(`path-to-file`);

console.log(text);

样本测试

var reader = require('any-text');

const chai = require('chai');
const expect = chai.expect;

describe('file reader checks', () => {
  it('check docx file content', async () => {
    expect(
      await reader.getText(`${process.cwd()}/test/files/dummy.doc`)
    ).to.contains('Lorem ipsum');
  });
});

我希望它将对您有帮助!