2008-10-18 134 views
6

如何加載MS Word文檔(doc和docx)內存(變量)沒有這樣做?:如何在C#(.NET)中加載MS Word文檔的文本?

wordApp.Documents.Open

我不想打開微軟Word ,我只是想在裏面的文字。

你給了我DOCX的答案,但DOC呢?我想要免費的高性能解決方案 - 不要打開12.000個Word實例來處理所有這些問題。 :(Aspose是商業產品,並且900 $是我做的太多的方式。

回答

4

您可以使用屬於Office兼容包的wordconv.exe從doc轉換爲docx。

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

只需調用命令,如下所示: 「C:\ Program Files文件\的Microsoft Office \ OFFICE12 \ wordconv.exe」 -oice -NMe INPUTFILE OUTPUTFILE

我不知道,如果你需要爲它安裝字來運行,但它確實有效。我在本地使用它作爲windows shell命令,將舊辦公文件轉換爲2007格式,只要我想要。

2

對於DOCX格式的Word文檔,我發現在CodeProject上

這個有趣的文章3210

Using DocxToText to Extract Text from DOCX Files

在這篇文章中,作者討論了只剝去單詞本身。

對於您的文檔(非docx)Word文檔除了使用Office API和(在後臺)產生一個Word實例,您可以嘗試脫殼到市場上許多不同的Doc2Docx轉換器之一,然後應用上述過程都適用。

+0

是否有任何免費文檔去docx解決方案? – Skuta 2008-10-19 20:56:44

-1

我不是要成爲一個對手,但爲什麼?

我已經從使用Word2X或AbiWord的Linux服務器上的Word文檔中提取數據,並且根據文檔的數量和種類的不同,總是會出現提取錯誤。更多的子彈,分頁符,文檔部分和其他「特殊」功能越糟糕。

我知道現在有些選項可以自動化OpenOffice來處理文檔,但是我的建議是,如果可以的話,只需使用Word來處理Word文檔。

+0

如果我想每天處理12.000字文檔..猜猜爲什麼我不想打開12000個Word實例.. – Skuta 2008-10-21 09:02:38

1

我最近做了一些關於這個話題的研究。事實證明,爲了能夠在不打開單詞的情況下以編程方式操作單詞文件,您需要一些非常昂貴的工具。

有一篇關於code project on manipulating Word的文章,您可能會覺得它很有用。作者構建了一個用於處理對Word的調用的C#COM包裝器。它看起來像它實際上彈出打開字應用程序。

This post over at the neowin forums看起來也很有希望。它包含了很多用於文本提取的PInvoked調用。

也許如果你能找到一種方法來保持窗口隱藏它可以接受。

0

Aspose有一個組件可以讀取,修改和編寫Word文檔。 這裏是產品鏈接:Aspose.Words for .NET and Java

Aspose.Words使能。NET和Java 應用程序讀取,修改和編寫 Word®文檔,而不使用 MicrosoftWord®。使用Aspose.Words支持 一系列廣泛的功能,包括 文檔的創建,內容和格式 操作,強大的郵件合併 能力,全面支持DOC的 ,OOXML,RTF,WordprocessingML中, HTML和OpenDocument和PDF格式。 Aspose.Words是市場上最實惠,最快,功能最豐富的 。

+0

免費圖書館 - > Aspose:US $ 899 – Skuta 2008-10-21 09:01:55

0

使用docxtemplater,您可以很容易地得到一個單詞的全文(僅適用於docx)。

下面的代碼(node.js的)

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

這僅僅是三行代碼,並且不依賴於任何字實例(所有純JS)

相關問題