Обнаружение формата файла и проверка совместимости формата

Иногда перед открытием необходимо определить формат документа, потому что расширение файла не гарантирует, что содержимое файла уместно. Например, известно, что Crystal Reports часто выводит документы в формате RTF, но дает им расширение .doc.

Aspose.Words Предоставляет возможность получения информации о типе файла, чтобы избежать исключения, если вы не уверены в фактическом содержании файла.

Обнаружение формата файла без исключения

Когда вы имеете дело с несколькими документами в различных форматах файлов, вам может потребоваться отделить те файлы, которые могут быть обработаны. Aspose.Words от тех, кто не может. Вы также можете узнать, почему некоторые документы не могут быть обработаны.

Если вы пытаетесь загрузить файл в Document объект и Aspose.Words не может распознать формат файла или формат не поддерживается; Aspose.Words Будет сделано исключение. Вы можете уловить эти исключения и проанализировать их. Aspose.Words также обеспечивает DetectFileFormat Способ, позволяющий быстро определить формат файла без загрузки документа с возможными исключениями. Этот метод возвращает FileFormatInfo объект, содержащий обнаруженную информацию о типе файла.

Проверьте совместимость формата файлов

Мы можем проверить совместимость всех файлов в выбранной папке и сортировать их по формату в соответствующие подпапки.

Поскольку мы имеем дело с содержимым в папке, первое, что нам нужно сделать, это получить коллекцию всех файлов в этой папке, используя GetFiles Методика Directory Класс (от группы) System.IO пространство имен.

Следующий пример кода показывает, как получить список всех файлов в папке:

Когда все файлы собраны, остальная часть работы выполняется DetectFileFormat Метод, который проверяет формат файла.

Следующий пример кода показывает, как итерировать собранный список файлов, проверить формат каждого файла и переместить каждый файл в соответствующую папку:

Файлы перемещаются в соответствующие подпапки с использованием Move Методика File класса, из того же System.IO пространство имен.

В приведенном выше примере используются следующие файлы. Имя файла находится слева, а его описание справа:

Group Из файлов Вводный документ Тип
Поддерживаемые форматы файлов Тестовый файл (Doc) Microsoft Word 95/6.0 или Microsoft Word 97 – 2003 г. Документ.
Тестовый файлDotДот Microsoft Word 95/6.0 или Microsoft Word 97 – 2003 шаблон.
Тестовый файл (Docx) Office Open XML обработка текстов ML документ без макросов.
Тестовый файл (Docm) Office Open XML обработка текстов ML документ с макросами.
Тестовый файл (Dotx) Office Open XML обработка текстов ML шаблон.
Тестовый файл (Dotm.dotm) Office Open XML обработка текстов ML шаблон с макросами.
Тестовый файл (XML).xml Документ FlatOPC OOXML.
Тестовый файл (RTF) Богатый текстовый формат документа.
Тестовый файл (WordML.xml) Microsoft Word 2003 Обработка текстов Документ ML.
Тестовый файл (HTML).html HTML документ.
Тестовый файл (MHTML) Документ MHTML (веб-архив).
Тестовый файл (Odt) OpenDocument Text (OpenOffice Writer).
Тестовый файл (Ott.ott) Шаблон OpenDocument Document.
Тестовый файл (DocPreWord60) Microsoft Word 2.0 Документ.
Зашифрованные документы Тестовый файл (Enc.doc) Зашифрованный Microsoft Word 95/6.0 или Microsoft Word 97 – 2003 г. Документ.
Тестовый файл (Enc.docx) Зашифрованный Office Open XML Word Processing Документ ML.
Неподдерживаемые форматы файлов Тестовый файл (JPG). gpg Файл изображений JPEG.