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

Понякога е необходимо да се определи формата на документа преди отваряне, тъй като разширението на файла не гарантира, че съдържанието на файла е подходящо. Например, Известно е, че кристалните отчети често извеждат документи във формат RTF, но им дават .разширение на док.

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

Откриване на файлов формат без изключение

Когато работите с няколко документа в различни файлови формати, може да се наложи да отделите тези файлове, които могат да бъдат обработени от Aspose.Words от тези, които не могат. Може също да искате да знаете защо някои от документите не могат да бъдат обработени.

Ако се опитате да заредите файл в обект Document и Aspose.Words не може да разпознае файловия формат или форматът не се поддържа, Aspose.Words ще хвърли изключение. Можете да хванете тези изключения и да ги анализирате, но Aspose.Words също така предоставя DetectFileFormat метод, който ни позволява бързо да определим файловия формат, без да зареждаме документ с възможни изключения. Този метод връща FileFormatInfo обект, който съдържа откритата информация за типа на файла.

Проверка На Съвместимостта На Файловете С Формати

Можем да проверим съвместимостта на всички файлове в избраната папка и да ги сортираме по формат в съответните подпапки.

Тъй като се занимаваме със съдържание в папка, първото нещо, което трябва да направим, е да получим колекция от всички файлове в тази папка, използвайки метода GetFiles на класа Directory (от пространство от имена System.IO).

Следващият пример за код показва как да получите списък с всички файлове в папката:

Когато всички файлове са събрани, останалата част от работата се извършва по метода DetectFileFormat, който проверява файловия формат.

Следващият пример за код показва как да итерирате списъка със събрани файлове, да проверите формата на всеки файл и да преместите всеки файл в съответната папка:

Файловете се преместват в подходящи подпапки, използвайки метода Move на класа File, от същото пространство System.IO.

Следните файлове се използват в примера по-горе. Името на файла е отляво, а описанието му е отдясно.:

Група файлове Входящ Документ Тип
Поддържани файлови формати Test File (DOC).doc Microsoft Word 95/6.0 или Microsoft Word 97 – 2003 документ.
Test File (DOT).dot Microsoft Word 95/6.0 или Microsoft Word 97 – 2003 шаблон.
Test File (DOCX).docx Офис отворен XML WordprocessingML документ без макроси.
Test File (DOCM).docm Офис отворен XML WordprocessingML документ с макроси.
Test File (DOTX).dotx Отворен офис XML WordprocessingML шаблон.
Test File (DOTM).dotm Офис отворен XML WordprocessingML шаблон с макроси.
Test File (XML).xml FlatOPC OOXML документ.
Test File (RTF).rtf Документ с богат текстов формат.
Test File (WordML).xml Microsoft Word 2003 WordprocessingML документ.
Test File (HTML).html HTML документ.
Test File (MHTML).mhtml MHTML (уеб архив) документ.
Test File (ODT).odt OpenDocument Текст (OpenOffice Писател).
Test File (OTT).ott OpenDocument Шаблон На Документ.
Test File (DocPreWord60).doc Microsoft Word 2.0 документ.
Криптирани документи Test File (Enc).doc Кодиран Microsoft Word 95/6.0 или Microsoft Word 97 – 2003 документ.
Test File (Enc).docx Шифрован Офис отворен XML WordprocessingML документ.
Неподдържани файлови формати Test File (JPG).jpg JPEG файл с изображение.