我需要打开一个MS Word文件(.doc)并提取其组成文件(“[1] CompObj”,“WordDocument”等)。像7-zip之类的东西可以手动执行,但是我需要以编程方式进行。

我已经收集到一个Word文档是一个OLE容器(因此,为什么可以使用7-zip来查看其内容),但是我不知道如何(使用C++):

  • 打开OLE容器
  • 提取每个组成文件并将其保存到磁盘

  • 我已经找到了OLE自动化的几个示例(例如here),但是我想做的事情似乎并不常见,并且我也没有找到具体的示例。

    如果有人对API(?!)和使用OLE的教程有任何想法,我将不胜感激。同上任何代码示例。

    最佳答案

    它称为“复合文件”,是“结构化存储API”的一部分。您从StgOpenStorageEx()开始。对于Word .doc文件,它几乎不需要花钱,流本身具有复杂的二进制格式。若要真正读取您想使用自动化的文档内容,请让Word读取文件。在C++中很少这样做,但是该项目向您展示了如何进行。

    关于c++ - 如何提取OLE容器的内容?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3141902/

    10-12 03:41