【问题标题】:How to extract the contents of an OLE container?如何提取 OLE 容器的内容?
【发布时间】:2010-06-29 14:56:06
【问题描述】:

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

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

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

我找到了几个 OLE 自动化的示例(例如 here),但我想做的似乎不太常见,而且我没有找到具体的示例。

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

【问题讨论】:

    标签: c++ ms-word containers ole


    【解决方案1】:

    它被称为复合文件,是结构化存储 API 的一部分。你从 StgOpenStorageEx() 开始。它对 Word .doc 文件的成本很低,流本身具有复杂的二进制格式。要真正阅读您想要使用自动化的文档内容,让 Word 阅读文件。这在 C++ 中很少做,但该项目向您展示了如何做。

    【讨论】:

    • 这种方式似乎只适用于Windows...如何为IOS提取OLE容器的内容?有可能吗?
    【解决方案2】:

    此站点http://www.endurasoft.com/vcd/ststo.htm 包含教程、API 信息和代码示例,可以满足我的所有需求。

    【讨论】:

      猜你喜欢
      • 2011-01-09
      • 2013-09-18
      • 2017-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-26
      • 2015-09-02
      相关资源
      最近更新 更多