我需要能够根据文件的内容而不是文件的扩展名来识别给定文件是 OOXML 文件。
OOXML 文件实际上是 zip 容器中 XML 和文本文件的集合,这意味着我不能使用文件的幻数,因为它只会表明它是一个 zip 文件。
所以我真正要问的是,OOXML 开放包装约定 (OPC) 容器中是否需要存在任何文件?如果是这样,则 OPC 容器中存在该文件表明它很可能是 OOXML 文件,而没有该文件则表明它绝对不是OOXML 文件。
这个问题是这个 ODF 问题的 OOXML 版本。
我需要能够根据文件的内容而不是文件的扩展名来识别给定文件是 OOXML 文件。
OOXML 文件实际上是 zip 容器中 XML 和文本文件的集合,这意味着我不能使用文件的幻数,因为它只会表明它是一个 zip 文件。
所以我真正要问的是,OOXML 开放包装约定 (OPC) 容器中是否需要存在任何文件?如果是这样,则 OPC 容器中存在该文件表明它很可能是 OOXML 文件,而没有该文件则表明它绝对不是OOXML 文件。
这个问题是这个 ODF 问题的 OOXML 版本。
是的,有办法。访问OpenXMLDeveloper.org并下载 PPTX,即“02: Open XML Packages”(演示文稿 02)。然后,在幻灯片 12 上,它告诉您如何识别 Open XML 文档。它是 document.xml、rels 文件和 [Content_Types].xml 文件(最重要的是 ContentType 元素)。这里重要的是使用文件中的内容,而不是文件结构本身(开放打包约定)。
另一个很好的资源是Open XML Markup Explained。第 1 章和“设置主文档”是了解 Word docx 结构的好地方。Excel 和 PowerPoint 的结构在后面列出。
与我对您的 ODF 问题的回答类似 - 查看格式的技术规范。