2008-12-08 107 views
4

是否有從MS Word文檔中提取方程(可能是圖像)的編程方式?我已經搜遍了所有的東西,但還沒有找到任何可以讓我的牙齒進入和工作的東西。如果可能的話,我希望能夠用VB.NET或C#做到這一點,但我可以選擇足夠的任何語言來破解DLL。謝謝!從Word中提取方程和圖像

編輯:現在我正在尋找從Word 2003中提取方程,但如果需要將其轉換爲2007/Open XML,那很好。

回答

4

我不知道這是否會有所幫助,但Word 2000/2003中的對象模型將InlineShapes集合作爲Document對象的一部分,該對象表示嵌入圖像以及可能類似於方程式的對象。

一些VBA代碼的第一個項目複製到剪貼板,這可能會幫助你提取它們:

ThisDocument.InlineShapes.Items(1).Select 
Selection.Copy 

它在.NET中訪問過,MSDN link

+0

這實際上是我一起去的。謝謝! – AndrewBurton 2008-12-09 01:05:55

0

試試看看Word-to-latex轉換器。它需要.Net框架,儘管源文件尚未打開,但作者確實會對此提出問題。

4

你的文檔格式是什麼?如果它們使用Open XML(文件擴展名.docx),則可以使用Microsoft提供的Open XML SDK來提取圖像和嵌入的內容。

Open XML文件不過是使用特殊結構的zip歸檔文件。您將在SDK中找到如何訪問該zip歸檔文件的示例。實際上,您可以使用任何支持zip的庫從文檔包中提取內容。

如果文檔仍然使用舊的二進制格式,事情會更復雜一點。我認爲最簡單的方法是將文檔轉換爲Open XML格式。有幾種方法可以做到這一點:

  • 獲取從SourceForge的自由和開放的b2xtranslator它爲您提供了C#的DLL文件轉換。
  • 安裝微軟的Compatibility Pack並使用下面的命令行轉換:

    「C:\ Program Files文件\的Microsoft Office \ OFFICE12 \ wordconv.exe」 -oice -NMe INPUT_FILE OUTPUT_FILE

哪裏input_file和output_file必須是完整的路徑名。