كشف تنسيق الملف والتحقق من توافق التنسيق

في بعض الأحيان يكون من الضروري تحديد تنسيق المستند قبل فتحه لأن امتداد الملف لا يضمن أن محتويات الملف مناسبة. على سبيل المثال، من المعروف أن تقارير Crystal غالبًا ما تقوم بإخراج المستندات بتنسيق 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 Open XML WordprocessingML مع وحدات الماكرو.
ملف الاختبار (دوتكس).dotx قالب Office Open XML لمعالجة النصوص ML.
ملف الاختبار (Dotm).dotm قالب Office Open XML WordprocessingML مع وحدات الماكرو.
ملف الاختبار (XML).xml مستند FlatOPC OOXML.
ملف الاختبار (RTF).rtf مستند بتنسيق نص منسق.
ملف الاختبار (WordML).xml مستند Microsoft Word 2003 لمعالجة الكلمات ML.
ملف الاختبار (HTML).html وثيقة HTML.
ملف الاختبار (MHTML).mhtml وثيقة MHTML (أرشيف الويب).
ملف الاختبار (Odt).odt نص OpenDocument (كاتب OpenOffice).
ملف الاختبار (أوت).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.