我必須從很多(我的小型工作示例有數百個,總數可能會是數千個)中提取元數據,主要是Word文件。從舊Word文件中提取元數據(從2.0開始)
這些文件Word版本去從Word 2.0到Word 2007
我必須這樣做,在.net 3.5(使用C#),這是一個當地的WinForms應用程序。
我想可以從最新的OLE自動化(DsoFile.dll)中提取元數據。我和他們中的一些人成功做到了。
問題是DsoFile不支持較早的格式。可能他們不使用OLE。
我做了大量的谷歌搜索,我發現獲得我想要的數據的最好方法是使用反義詞(http://www.winfield.demon.nl/)。 與antiword我可以調用其進程並收集其輸出。它可以提取一些數據,但不是我所需要的。 例如:antiword只給我一個存儲的日期,我需要其中的兩個。
還有wvware,但我想這只是linux-only。
另一種選擇是GNU libextractor,但我不能找到一種方法,在使用.NET上
辦公室互操作將是一個絕望的最後一招。我還沒有測試過這個選項,但是我猜測這並不是一個當想要處理大量文件並且性能不錯的選項。
任何人都可以幫忙嗎?如果你需要更多的數據,請問。
對不起,我不是母語的人。
+1感謝您的幫助。對於舊版本的版本,我最終在Linux上使用了antiword,並使用了一些小技巧,這樣就可以將我需要的缺失日期提取到xml文件,並使用我正在構建的c#進行解析。對於我使用微軟提供的(OLE)DsoFile.dll工具的較新格式。我提取的元數據是簡單的東西:作者,一些日期等 旁註:我不能upvote你的答案,我沒有足夠的回購。 :( – osiris 2010-11-03 09:55:18
啊,是的,那個dsofile工具。這非常方便,但我不得不提取複合文檔元素(像檢測白色文本上的隱藏和白色,死頭,命名樣式等瘋狂的東西)。不用擔心upvote。 – DarinH 2010-11-03 14:38:10