2012-10-15 25 views
16

Sto lavorando a un'applicazione Web in cui gli utenti possono caricare file di documenti di Microsoft Office. In questo momento, il nostro server sta eseguendo Node.JS con Express.js e siamo ospitati su Heroku. Per questo motivo, non penso di poter installare programmi come abiword o catdoc. Posso gestire gli upload di file, ma non posso analizzare il contenuto del documento.Analizza file Microsoft Office in Node.JS

Come posso leggere il contenuto del file doc? Le informazioni verranno quindi inserite in un database. Sarebbe bello conservare la formattazione di base (grassetto, corsivo, sottolineato), ma non essenziale.

risposta

7

Mentre ci non sembrano essere qualsiasi cosa si può ottenere con NPM che farà direttamente Word, si potrebbe essere in grado di utilizzare un'API REST farne richiesta tramite un altro servizio cloud. Ad esempio, Saaspose (i famosi strumenti Aspose) hanno API pubbliche per Word, Excel, PDF e altre. Elenca il supporto node.js, javascript e Heroku sulla loro pagina.

EDIT:

Vedo che Saaspose è ora chiamato Aspose for Cloud

Un'altra API che pretende qualcosa di simile è Doxument

+0

Questo è perfetto! Grazie mille. – arknave

4

Office pacchetto: npm install office sembra fornire almeno una parte della risposta. Lo uso per leggere i file Excel, finora non ho provato alcun documento Word.

+1

Nota: questo pacchetto sembra convertire l'input in HTML eseguendo unoconv http://dag.wieers.com/home-made/unoconv/ (il convertitore OpenOffice). (Per i fogli di calcolo sembra convertire in xls con unoconv, quindi convertire xls-> html utilizzando http://freecode.com/projects/xlhtml) – Nickolay

+2

e unoconv richiede [libreoffice] (http://www.macupdate.com/app/mac/35446/libreoffice) .. quanto è profonda la tana del coniglio? Non penso che questa soluzione si ridurrebbe molto bene, a meno che non si voglia installare tutte queste applicazioni su tutti i server .. che è un compito abbastanza onesto – abbood