1

我正在构建一个需要以编程方式从 DOCX、XLSX 和 PPTX 文件中提取所有嵌入文件、图像和文本的应用程序。当我查看 DOCX 文件时,我发现它们只是 zip 包。在包的根目录中始终有一个名为 [Content_Types].xml 的文件。在这个文件中,我可以找到包含所有文本的 Document.xml 文件的位置。这是必要的,因为据我了解,文件并不总是保证在同一个地方。这很容易,但我找不到任何文档指定如何存储所有图像和嵌入文件(word 或 Ole 容器)。

在我看来,所有嵌入文件都添加到 Embeddings 目录中,所有图像都添加到 Media 目录中。但是,我找不到任何可以肯定地告诉我的东西。此外,存档中的任何 xml 文件都没有显示存储图像和文件的任何位置信息,因此我认为它们始终位于 Embeddings 和 Media 目录中。

就像我提到的,我需要从 DOCX、XLSX 和 PPTX 文件中提取所有嵌入的文件、图像和文本。我需要在没有安装 Office 的服务器上执行此操作。如果有人已经这样做并且可以指出我正确的方向,我将不胜感激。

谢谢,

4

1 回答 1

0

Microsoft 有一个用于处理 XML 办公文档的 SDK,称为“Open XML SDK”,服务器也支持该 SDK。

我自己没有尝试过,但它可能包含用于提取元素(例如嵌入式对象)的 API,而无需自己处理 zip 文件或 ISO 文档。这也会更安全,因为文件结构可能会随着时间而改变。

凯末尔

于 2011-12-25T00:48:38.477 回答