arknave
arknave

Reputation: 613

Parse Microsoft Office files in Node.JS

I'm working on a web application where users can upload Microsoft Office Document files. Right now, our server is running Node.JS with Express.js and we're hosted on Heroku. Because of this, I don't think that I can install programs such as abiword or catdoc. I can handle the file uploads, but can't parse the contents of the document.

How can I read the contents of the doc file? The information will then be put into a database. It'd be nice to preserve basic formatting (bold, italic, underline), but not essential.

Upvotes: 22

Views: 26600

Answers (4)

ZhenyaUsenko
ZhenyaUsenko

Reputation: 403

You can use mammoth to parse .docx files https://www.npmjs.com/package/mammoth and xlsx to parse .xlsx files https://github.com/SheetJS/js-xlsx

Upvotes: 3

Steve P
Steve P

Reputation: 19397

While there don't seem to be anything you can get with NPM that will do Word directly, you might be able to use a REST API to request it via another cloud service. For example Saaspose (they of the famous Aspose tools) have public API for Word, Excel, PDF, and others. They list node.js, javascript, and Heroku support on their page.

EDIT:

I see that Saaspose is now called Aspose for Cloud

Another API that claims something similar is Doxument

Upvotes: 7

Deer Hunter
Deer Hunter

Reputation: 1221

Office package: npm install office seems to provide at least part of the answer. I use it to read Excel files, so far have not tried any Word docs.

Upvotes: 5

LiamB
LiamB

Reputation: 18596

There doesn't seem to be any yet. See below for something that might help.

Can I read PDF or Word Docs with Node.js?

Upvotes: 2

Related Questions