Разбирать файлы Microsoft Office в Node.JS

Я работаю над веб-приложением, в котором пользователи могут загружать файлы документов Microsoft Office. Прямо сейчас на нашем сервере работает Node.JS с Express.js, и мы размещены на Heroku. Из-за этого я не думаю, что смогу установить такие программы, как abiword или catdoc. Я могу обработать загрузку файлов, но не могу проанализировать содержимое документа.

Как я могу прочитать содержимое файла документа? Затем информация будет помещена в базу данных. Было бы неплохо сохранить базовое форматирование (жирный, курсив, подчеркивание), но не обязательно.


person arknave    schedule 15.10.2012    source источник


Ответы (4)


Хотя, похоже, вы не можете получить что-либо с помощью NPM, которое будет работать с Word напрямую, вы можете использовать REST API для запроса через другую облачную службу. Например, Saaspose (один из известных инструментов Aspose) имеет общедоступный API для Word, Excel, PDF и другие. Они перечисляют поддержку node.js, javascript и Heroku на своей странице.

РЕДАКТИРОВАТЬ:

Я вижу, что Saaspose теперь называется Aspose for Cloud.

Другой API, который утверждает что-то подобное, называется Doxument.

person explunit    schedule 15.10.2012
comment
Это потрясающе! Большое спасибо. - person arknave; 16.10.2012
comment
Эти ссылки не работают - person Charanjit Singh; 29.06.2021

Пакет Office: npm install office, похоже, дает по крайней мере часть ответа. Я использую его для чтения файлов Excel, пока не пробовал документы Word.

person Deer Hunter    schedule 27.10.2012
comment
Примечание: этот пакет, похоже, преобразует ввод в HTML, запустив unoconv dag.wieers.com/home -made/unoconv (конвертер OpenOffice). (Для электронных таблиц кажется, что он преобразуется в xls с помощью unoconv, а затем конвертируется в xls-›html с помощью freecode.com/projects/xlhtml. ) - person Nickolay; 12.01.2013
comment
а для unoconv требуется libreoffice... насколько глубока кроличья нора? Я не думаю, что это решение будет очень хорошо масштабироваться, если только вы не захотите установить все эти приложения на все свои серверы... что, честно говоря, довольно сложная задача. - person abbood; 03.04.2013

Кажется, еще нет. Смотрите ниже что-то, что может помочь.

Могу ли я читать документы PDF или Word с помощью Node.js?

person LiamB    schedule 15.10.2012

Вы можете использовать mammoth для анализа файлов .docx https://www.npmjs.com/package/mammoth и xlsx для анализа файлов .xlsx https://github.com/SheetJS/js-xlsx

person ZhenyaUsenko    schedule 21.08.2018