فرمت فایل را شناسایی کنید و سازگاری فرمت را بررسی کنید
گاهی اوقات لازم است قبل از باز کردن یک سند، فرمت آن مشخص شود، زیرا پسوند فایل تضمین نمی کند که محتوای فایل مناسب است. به عنوان مثال، مشخص است که Crystal Reports اغلب اسناد را با فرمت RTF خروجی می دهد، اما پسوند .doc را به آنها می دهد.
Aspose.Words امکان به دست آوردن اطلاعات در مورد نوع فایل را فراهم می کند تا اگر مطمئن نیستید محتوای واقعی فایل چیست، از یک استثنا جلوگیری می کند.
تشخیص فرمت فایل بدون استثنا
هنگامی که با چندین سند در قالبهای فایل مختلف سروکار دارید، ممکن است لازم باشد آن فایلهایی را که میتوانند توسط Aspose.Words پردازش شوند از فایلهایی که نمیتوانند پردازش کنند، جدا کنید. همچنین ممکن است بخواهید بدانید چرا برخی از اسناد قابل پردازش نیستند.
اگر بخواهید فایلی را در یک شیء Document بارگیری کنید و Aspose.Words نتواند فرمت فایل را تشخیص دهد یا فرمت آن پشتیبانی نشود، Aspose.Words یک استثنا ایجاد می کند. شما می توانید آن استثناها را بگیرید و آنها را تجزیه و تحلیل کنید، اما Aspose.Words همچنین روش detect_file_format را ارائه می دهد که به ما امکان می دهد فرمت فایل را بدون بارگیری سند با استثناهای احتمالی به سرعت تعیین کنیم. این روش یک شی FileFormatInfo را برمی گرداند که حاوی اطلاعات شناسایی شده در مورد نوع فایل است.
سازگاری فرمت فایل ها را بررسی کنید
میتوانیم سازگاری فرمت همه فایلهای موجود در پوشه انتخابی را بررسی کرده و آنها را بر اساس فرمت در زیر پوشههای مربوطه مرتب کنیم.
از آنجایی که ما با محتوای یک پوشه سروکار داریم، اولین کاری که باید انجام دهیم این است که با استفاده از روش listdir ماژول سیستم عامل مجموعه ای از تمام فایل های این پوشه را دریافت کنیم.
مثال کد زیر نحوه دریافت لیستی از تمام فایل های موجود در پوشه را نشان می دهد:
وقتی همه فایل ها جمع آوری شدند، بقیه کارها با روش detect_file_format انجام می شود که فرمت فایل را بررسی می کند.
مثال کد زیر نحوه تکرار لیست فایلهای جمعآوریشده، بررسی فرمت هر فایل و انتقال هر فایل به پوشه مناسب را نشان میدهد:
فایل ها با استفاده از روش فایل را کپی کن ماژول 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 |