Microsoft DOCX,XLSX和PPTX Archive

时间:2011-12-24 19:15:40

标签: c# docx xlsx

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

我认为所有嵌入文件都会添加到Embeddings目录中,并且所有图像都会添加到Media目录中。但是,我无法找到任何能够肯定地告诉我的东西。此外,存档中的所有xml文件都不会显示存储的图像和文件的任何位置信息,因此我认为它们在嵌入和媒体目录中始终

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

谢谢,

1 个答案:

答案 0 :(得分:0)

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

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

末尔