Визначення формату файлу та перевірка сумісності форматів
Іноді необхідно визначити формат документа перед відкриттям, оскільки розширення файлу не гарантує, що вміст файлу відповідає дійсності. Наприклад, відомо, що 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
.
У наведеному вище прикладі використовуються наступні файли. Назва файлу вказана зліва, а його опис - справа:
Група файлів | Вхідний документ | Тип |
---|---|---|
Підтримувані формати файлів | 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 | Office відкриває XML WordprocessingML документ без макросів. | |
Test File (DOCM).docm | Office відкриває XML WordprocessingML документ за допомогою макросів. | |
Test File (DOTX).dotx | Шаблон Office Open XML WordprocessingML. | |
Test File (DOTM).dotm | Шаблон Office Open XML WordprocessingML з макросами. | |
Test File (XML).xml | FlatOPC OOXML Документ. | |
Test File (RTF).rtf | Документ у форматі Rich Text. | |
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 файл зображення. |