2012-10-15 48 views
16

我正在开发一个Web应用程序,供用户上传Microsoft Office文档文件。现在,我们的服务器使用Express.js运行Node.JS,并且我们托管在Heroku上。因此,我认为我不能安装abiword或catdoc等程序。我可以处理文件上传,但无法解析文档的内容。解析Node.JS中的Microsoft Office文件

如何读取doc文件的内容?这些信息将被放入数据库中。保留基本的格式(粗体,斜体,下划线)会很好,但不是必需的。

回答

7

虽然似乎没有任何东西可以与NPM将直接做搭话,你也许能够使用REST API通过另一个云服务提出要求。例如Saaspose(他们的着名Aspose工具)具有用于Word,ExcelPDF等的公共API。他们在他们的页面上列出了node.js,javascript和Heroku支持。

编辑:

我看到Saaspose现在被称为Aspose for Cloud

声称类似的另一个API是Doxument

+0

这很完美!非常感谢。 – arknave

4

Office包:npm install office似乎提供答案的至少一部分。我用它来读取Excel文件,到目前为止还没有尝试过任何Word文档。

+1

注意:此包似乎通过运行unoconv http://dag.wieers.com/home-made/unoconv/(OpenOffice转换器)将输入转换为HTML。 (对于电子表格,它似乎用unoconv转换为xls,然后使用http://freecode.com/projects/xlhtml转换xls-> html) – Nickolay

+2

和unoconv需要[libreoffice](http://www.macupdate.com/app/mac/35446/libreoffice)。兔子洞有多深?我不认为这个解决方案可以很好地扩展,除非你想在你所有的服务器上安装所有这些应用程序。坦率地说,这是一项非常艰巨的任务 – abbood