Как извлечь содержимое doc / docx, используя fs api для node.js - PullRequest
0 голосов
/ 04 октября 2018

Следующее хорошо работает для извлечения содержимого типа doc / docs.Мое намерение состоит в том, чтобы извлечь только строку, а не изображения.Если код снабжен каким-либо документом, содержащим изображения, он не может его обработать, что делает огромный текст непонятным для человека.Есть ли способ для модуля fs пропустить изображения и извлечь только string?

var fs = require("fs");
fs.readFile("Protractor.docx", 'utf8', function (err,data) {
    if (err) {
      return console.log(err);
    }
    console.log(data);
});

1 Ответ

0 голосов
/ 04 октября 2018

Вы можете использовать библиотеку mammoth , которая имеет метод extractRawText, это только извлекает текст и игнорирует изображения и все форматирование.

Это пример, который извлекается из файла docx, содержащего изображения:

const superagent = require('superagent');
const mammoth = require('mammoth');

const url = 'http://www.ojk.ee/sites/default/files/respondus-docx-sample-file_0.docx';

const main = async () => {

 const response = await superagent.get(url)
   .parse(superagent.parse.image)
   .buffer();

  const buffer = response.body;

  const text = (await mammoth.extractRawText({ buffer })).value;
  const lines = text.split('\n');

  console.log(lines);
};

main().catch(error => console.error(error));
...