Вопрос

Мне нужно иметь возможность определить, что данный файл является файлом OOXML, основываясь на содержимом файла, а не на его расширении.

OOXML-файлы на самом деле представляют собой набор XML и текстовых файлов в zip-контейнере, что означает, что я не могу использовать магическое число файла, поскольку оно будет просто указывать, что это zip-файл.

Итак, я действительно спрашиваю, есть ли файлы, которые необходимы для присутствия в контейнере OOXML Open Packaging Convention (OPC)? Если это так, то присутствие этого файла в контейнере OPC указывает, что это, скорее всего, файл OOXML, а отсутствие этого файла означает, что он определенно не является файлом OOXML.

Этот вопрос является OOXML-версией этого вопроса ODF .

Это было полезно?

Решение

Да, есть способ. Перейдите на OpenXMLDeveloper.org и загрузите PPTX, который является " 02 : Открыть XML-пакеты " (Презентация 02). Затем на слайде 12 рассказывается, как идентифицировать документ Open XML. Это document.xml, файлы rels и файл [Content_Types] .xml (наиболее важный элемент ContentType). Здесь важно использовать то, что находится внутри файла, а не саму структуру файла (Open Packaging Convention).

Еще один замечательный ресурс - Открыть. Объяснение разметки XML . Глава 1, а затем «Настройка основного документа» отличное место, чтобы узнать о структуре документа Word. Структуры Excel и PowerPoint перечислены позже.

Другие советы

Ответ, аналогичный тому, который я дал на ваш вопрос ODF - посмотрите на техническую спецификацию формат .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top