تشخیص فرمت فایل و بررسی سازگاری فرمت

گاهی لازم است قبل از باز کردن فرمت یک سند مشخص شود زیرا پسوند فایل تضمین نمی کند که محتوای فایل مناسب باشد. به عنوان مثال، شناخته شده است که 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 دفتر باز XML WordprocessingML سند بدون ماکروها.
Test File (Docm).docm دفتر باز XML WordprocessingML سند با ماکروها.
Test File (Dotx).dotx دفتر باز XML WordprocessingML قالب.
Test File (Dotm).dotm Office open 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 فایل تصویر.