2010-06-29 67 views
5

我需要打開MS Word文件(.doc)並提取其組成文件('[1] CompObj','WordDocument'等)。像7-zip這樣的東西可以用來手動做到這一點,但我需要以編程方式做到這一點。如何提取OLE容器的內容?

我收集了一個Word文檔是一個OLE容器(所以爲什麼7-ZIP可以用來查看其內容),但我不能工作如何(用C++):

  1. 打開OLE容器
  2. 提取每個組成文件並將其保存到磁盤

我發現一對夫婦(如here)OLE自動化的例子,但我想這樣做似乎是不太常見的我沒有找到具體的例子。

如果任何人有任何API(?!)和OLE工作教程的任何想法,我將不勝感激。同上任何代碼示例。

回答

4

它被稱爲複合文件,是結構化存儲API的一部分。你從StgOpenStorageEx()開始。它只爲Word .doc文件購買一點,這些流本身具有複雜的二進制格式。到確實閱讀您要使用自動化的文檔內容,讓Word讀取文件。這很少在C++中完成,但該項目向您展示瞭如何。

+0

看來,這種方式只適用於Windows ...如何提取IOS的OLE容器的內容?可能嗎? – MastAvalons 2012-09-05 08:27:40