2008-10-18 35 views
6

Làm thế nào để tải tài liệu MS Word (.doc và .docx) vào bộ nhớ (biến) mà không cần làm điều này ?:Cách tải văn bản của tài liệu MS Word trong C# (.NET)?

wordApp.Documents.Open

Tôi không muốn mở MS Word , Tôi chỉ muốn văn bản bên trong.

Bạn đã trả lời DOCX cho tôi, nhưng DOC thì sao? Tôi muốn giải pháp hiệu suất cao và miễn phí - không mở 12.000 bản sao của Word để xử lý tất cả chúng. : (Aspose là sản phẩm thương mại, và 900 $ là một cách quá nhiều cho những gì tôi làm.

Trả lời

4

Bạn có thể sử dụng wordconv.exe là một phần của Gói tương thích với Office để chuyển đổi từ tài liệu thành docx.

http://www.microsoft.com/downloads/details.aspx?familyid=941b3470-3ae9-4aee-8f43-c6bb74cd1466&displaylang=en

Chỉ cần gọi lệnh như sau: "C: \ Program Files \ Microsoft Office \ Office12 \ wordconv.exe" -oice -nme Inputfile outputFile

Tôi không chắc chắn nếu bạn cần cài đặt từ để nó chạy nhưng nó hoạt động. Tôi sử dụng nó cục bộ như là một cửa sổ shell lệnh để chuyển đổi các tập tin văn phòng cũ sang định dạng 2007 bất cứ khi nào tôi muốn.

2

Đối docx định dạng văn bản Word tôi thấy bài viết thú vị này trên The CodeProject

Using DocxToText to Extract Text from DOCX Files

Trong bài viết, tác giả thảo luận chỉ loại bỏ chính các từ đó.

Đối với tài liệu Word (không phải docx) của bạn ngoài việc sử dụng API Office và (trong nền) sinh ra một thể hiện của Word bạn có thể thử bắn ra một trong nhiều trình biến đổi Doc2Docx khác nhau trên thị trường và sau đó áp dụng quá trình trên cho cả hai.

+0

Có doc miễn phí giải pháp docx? – Skuta

-1

Tôi không có ý là một nhân vật phản diện, nhưng tại sao?

Tôi đã trích xuất dữ liệu từ Tài liệu Word trên máy chủ Linux bằng Word2X hoặc AbiWord và tùy thuộc vào số lượng và nhiều loại tài liệu sẽ luôn có lỗi khi trích xuất. Đó là tồi tệ hơn đạn, ngắt trang, phần tài liệu và các tính năng "đặc biệt" khác có.

Tôi hiểu có các tùy chọn ngay bây giờ để tự động hóa OpenOffice để xử lý tài liệu, nhưng lời khuyên của tôi là, nếu bạn có thể, chỉ cần sử dụng Word để xử lý tài liệu Word.

+0

Nếu tôi muốn xử lý 12.000 tài liệu từ mỗi ngày .. Đoán tại sao tôi không muốn mở 12000 bản sao của Word .. – Skuta

1

Gần đây tôi đã thực hiện một số nghiên cứu về chủ đề này. Nó chỉ ra rằng để có thể thao tác các tập tin từ lập trình mà không cần mở chính từ bạn cần một số công cụ rất tốn kém.

Có một bài viết tại số code project on manipulating Word, bạn có thể thấy nó hữu ích. Tác giả xây dựng trình bao bọc C# COM để xử lý các cuộc gọi tới Word. Dường như nó thực sự bật mở ứng dụng từ mặc dù.

This post over at the neowin forums cũng có triển vọng. Nó bao gồm một vài cuộc gọi PInvoked cho mục đích trích xuất văn bản.

Có thể nếu bạn có thể tìm cách giữ cửa sổ bị ẩn, điều đó có thể chấp nhận được.

0

Aspose có một thành phần để đọc, sửa đổi và viết tài liệu Word. Đây là liên kết sản phẩm: Aspose.Words for .NET and Java

Aspose.Words enable.NET và Java ứng dụng để đọc, sửa đổi và viết tài liệu Word® mà không cần sử dụng Microsoft Word®. Aspose.Words hỗ trợ một loạt các tính năng bao gồm tạo tài liệu, nội dung và thao tác định dạng, thư mạnh mẽ khả năng hợp nhất, hỗ trợ toàn diện của DOC, OOXML, RTF, WordprocessingML, HTML, OpenDocument và định dạng PDF. Aspose.Words thực sự là hầu hết các thành phần từ giá cả phải chăng nhất, nhanh nhất và giàu tính năng từ trên thị trường.

+0

thư viện miễn phí, -> Mục đích: US $ 899 – Skuta

0

Với docxtemplater, bạn có thể dễ dàng lấy toàn văn của một từ (chỉ hoạt động với docx).

Dưới đây là đoạn code (Node.js)

DocxTemplater=require('docxtemplater'); doc=new DocxTemplater().loadFromFile("input.docx"); result=doc.getFullText();

Đây chỉ là ba dòng mã và không phụ thuộc vào bất kỳ trường hợp chữ (tất cả đồng bằng JS)

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