2012-10-15 42 views
16

Tôi đang làm việc trên ứng dụng web nơi người dùng có thể tải lên tệp Tài liệu Microsoft Office. Ngay bây giờ, máy chủ của chúng tôi đang chạy Node.JS với Express.js và chúng tôi được lưu trữ trên Heroku. Bởi vì điều này, tôi không nghĩ rằng tôi có thể cài đặt các chương trình như abiword hoặc catdoc. Tôi có thể xử lý các tệp tải lên nhưng không thể phân tích cú pháp nội dung của tài liệu.Phân tích tệp Microsoft Office trong Node.JS

Làm cách nào để đọc nội dung của tệp doc? Thông tin sau đó sẽ được đưa vào cơ sở dữ liệu. Nó sẽ được tốt đẹp để bảo tồn định dạng cơ bản (đậm, nghiêng, gạch chân), nhưng không cần thiết.

Trả lời

7

Trong khi đó dường như không có bất cứ điều gì bạn có thể nhận được với NPM rằng sẽ làm Word trực tiếp, bạn có thể sử dụng một API REST để yêu cầu nó thông qua một dịch vụ đám mây. Ví dụ: Saaspose (các công cụ Aspose nổi tiếng) có API công khai cho Word, Excel, PDF và các công cụ khác. Họ liệt kê hỗ trợ node.js, javascript và Heroku trên trang của họ.

EDIT:

Tôi thấy rằng Saaspose bây giờ được gọi Aspose for Cloud

Một API mà tuyên bố một cái gì đó tương tự là Doxument

+0

Điều này thật hoàn hảo! Cảm ơn bạn rất nhiều. – arknave

4

Office gói: npm install office dường như cung cấp ít nhất một phần của câu trả lời. Tôi sử dụng nó để đọc các tệp Excel, cho đến nay vẫn chưa thử bất kỳ tài liệu Word nào.

+1

Lưu ý: gói này dường như chuyển đổi đầu vào thành HTML bằng cách chạy unoconv http://dag.wieers.com/home-made/unoconv/ (bộ chuyển đổi OpenOffice). (Đối với bảng tính có vẻ như chuyển đổi thành xls với unoconv, sau đó chuyển đổi xls-> html bằng cách sử dụng http://freecode.com/projects/xlhtml) – Nickolay

+2

và unoconv yêu cầu [libreoffice] (http://www.macupdate.com/app/mac/35446/libreoffice) .. lỗ thỏ sâu bao nhiêu? Tôi không nghĩ rằng giải pháp này sẽ mở rộng rất tốt, trừ khi bạn muốn cài đặt tất cả các ứng dụng này trên tất cả các máy chủ của bạn .. đó là một nhiệm vụ khá thẳng thắn – abbood

Các vấn đề liên quan