Откриване на файлов формат и проверка на съвместимостта на формата
Понякога е необходимо да се определи формата на документа преди отваряне, тъй като разширението на файла не гарантира, че съдържанието на файла е подходящо. Например, Известно е, че кристалните отчети често извеждат документи във формат 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 файл с изображение. |