---
title: "تشخیص فرمت فایل هنگام بارگذاری"
---

گاهی اوقات لازم است قبل از باز کردن یک سند، فرمت آن مشخص شود، زیرا پسوند فایل تضمین نمی کند که محتوای فایل مناسب است. به عنوان مثال، مشخص است که Crystal Reports اغلب اسناد را با فرمت RTF خروجی می دهد، اما پسوند .doc را به آنها می دهد.

Aspose.Words امکان به دست آوردن اطلاعات در مورد نوع فایل را فراهم می کند تا اگر مطمئن نیستید محتوای واقعی فایل چیست، از یک استثنا جلوگیری می کند.

## تشخیص فرمت فایل بدون استثنا

هنگامی که با چندین سند در قالب‌های فایل مختلف سروکار دارید، ممکن است لازم باشد آن فایل‌هایی را که می‌توانند توسط Aspose.Words پردازش شوند از فایل‌هایی که نمی‌توانند پردازش کنند، جدا کنید. همچنین ممکن است بخواهید بدانید چرا برخی از اسناد قابل پردازش نیستند.

اگر بخواهید فایلی را در یک شیء [Document](https://reference.aspose.com/words/python-net/aspose.words/document/) بارگیری کنید و Aspose.Words نتواند فرمت فایل را تشخیص دهد یا فرمت آن پشتیبانی نشود، Aspose.Words یک استثنا ایجاد می کند. شما می توانید آن استثناها را بگیرید و آنها را تجزیه و تحلیل کنید، اما Aspose.Words همچنین روش [detect_file_format](https://reference.aspose.com/words/python-net/aspose.words/fileformatutil/detect_file_format/) را ارائه می دهد که به ما امکان می دهد فرمت فایل را بدون بارگیری سند با استثناهای احتمالی به سرعت تعیین کنیم. این روش یک شی [FileFormatInfo](https://reference.aspose.com/words/python-net/aspose.words/fileformatinfo/) را برمی گرداند که حاوی اطلاعات شناسایی شده در مورد نوع فایل است.

```

[detect_file_format](https://reference.aspose.com/words/python-net/aspose.words/fileformatutil/detect_file_format/) فقط فرمت فایل را بررسی می کند اما فرمت فایل را تایید نمی کند. هیچ تضمینی وجود ندارد که فایل با موفقیت باز شود، حتی اگر [detect_file_format](https://reference.aspose.com/words/python-net/aspose.words/fileformatutil/detect_file_format/) اعلام کند که یکی از فرمت های پشتیبانی شده است. این به این دلیل است که روش [detect_file_format](https://reference.aspose.com/words/python-net/aspose.words/fileformatutil/detect_file_format/) فقط داده های فرمت فایل جزئی را می خواند، برای بررسی فرمت فایل کافی است، اما برای اعتبار سنجی کامل کافی نیست.

```

## سازگاری فرمت فایل ها را بررسی کنید

می‌توانیم سازگاری فرمت همه فایل‌های موجود در پوشه انتخابی را بررسی کرده و آنها را بر اساس فرمت در زیر پوشه‌های مربوطه مرتب کنیم.

از آنجایی که ما با محتوای یک پوشه سروکار داریم، اولین کاری که باید انجام دهیم این است که با استفاده از روش **listdir** ماژول **سیستم عامل** مجموعه ای از تمام فایل های این پوشه را دریافت کنیم.

مثال کد زیر نحوه دریافت لیستی از تمام فایل های موجود در پوشه را نشان می دهد:

{{< gist "aspose-words-gists" "e9d8f984dac599756ccb4a64b8c79768" "Examples-DocsExamples-DocsExamples-File Formats and Conversions-working_with_file_format-GetListOfFilesInFolder.py" >}}

وقتی همه فایل ها جمع آوری شدند، بقیه کارها با روش [detect_file_format](https://reference.aspose.com/words/python-net/aspose.words/fileformatutil/detect_file_format/) انجام می شود که فرمت فایل را بررسی می کند.

مثال کد زیر نحوه تکرار لیست فایل‌های جمع‌آوری‌شده، بررسی فرمت هر فایل و انتقال هر فایل به پوشه مناسب را نشان می‌دهد:

{{< gist "aspose-words-gists" "e9d8f984dac599756ccb4a64b8c79768" "Examples-DocsExamples-DocsExamples-File Formats and Conversions-working_with_file_format-CheckFormatCompatibility.py" >}}

فایل ها با استفاده از روش **فایل را کپی کن** ماژول **shutil** به زیر پوشه های مناسب منتقل می شوند.

در مثال بالا از فایل های زیر استفاده شده است. نام فایل در سمت چپ و توضیحات آن در سمت راست:

| Group از فایل ها | سند ورودی | تایپ کنید |
|  :-  |  :-  |  :-  |
| فرمت های فایل پشتیبانی شده | فایل تست (Doc).doc | سند Microsoft Word 95/6.0 یا Microsoft Word 97 - 2003. |
|  | فایل تست (`Dot`).dot | الگوی Microsoft Word 95/6.0 یا Microsoft Word 97 - 2003. |
|  | فایل تست (Docx).docx | Office Open XML WordprocessingML سند بدون ماکرو. |
|  | فایل تست (Docm).docm | Office سند XML WordprocessingML را با ماکروها باز کنید. |
|  | فایل تست (Dotx).dotx | قالب Office Open XML WordprocessingML. |
|  | فایل تست (Dotm).dotm | Office Open XML WordprocessingML قالب با ماکرو. |
|  | فایل تست (XML).xml | سند FlatOPC OOXML. |
|  | فایل تست (RTF).rtf | سند با فرمت متن غنی |
|  | فایل تست (WordML).xml | سند WordprocessingML Microsoft Word 2003. |
|  | فایل تست (HTML).html | سند HTML |
|  | فایل تست (MHTML).mhtml | سند MHTML (بایگانی وب). |
|  | فایل تست (Odt).odt | متن OpenDocument (OpenOffice Writer). |
|  | فایل تست (Ott).ott | قالب سند OpenDocument. |
|  | فایل آزمایشی (DocPreWord60).doc | سند Microsoft Word 2.0. |
| اسناد رمزگذاری شده | فایل تست (Enc).doc | سند رمزگذاری شده Microsoft Word 95/6.0 یا Microsoft Word 97 - 2003. |
|  | فایل تست (Enc).docx | سند رمزگذاری شده Office Open XML WordprocessingML. |
| فرمت های فایل پشتیبانی نشده | فایل تست (JPG).jpg | فایل تصویری JPEG |

