المحللات
المحللات
واجهة برمجة التطبيقات الداخلية — الفئات في هذه الصفحة تُستخدم داخليًا بواسطة خط أنابيب تحويل المستندات. يتفاعل معظم المطورين مع
Document.save()وDocument.get_text()بدلاً من ذلك. راجع إدارة النواة للحصول على واجهة برمجة التطبيقات العامة.
يتضمن Aspose.Words FOSS for Python محللات متخصصة تستخرج البيانات المهيكلة من مكونات DOCX الداخلية. يتعامل NumberingParser مع تعريفات ترقيم القوائم، وStyleParser يستخرج أنماط المستند.
محلل الترقيم
NumberingParser يقرأ تعريفات الترقيم من حزمة DOCX ويعرضها عبر واجهة برمجة استعلام. استخدم parse_numbering_part() لتحميل XML الترقيم، ثم استعلم عن خصائص القوائم باستخدام طرق المساعدة.
| الطريقة | الوصف |
|---|---|
NumberingParser.parse_numbering_part() | تحليل عنصر الترقيم في DOCX |
NumberingParser.get_list_info() | الحصول على معلومات حول قائمة محددة بواسطة المعرف |
NumberingParser.get_level_info() | الحصول على تفاصيل المستوى لقائمة بعمق معين |
NumberingParser.is_ordered_list() | التحقق مما إذا كان مستوى القائمة مرتّبًا أم نقطيًا |
NumberingParser.get_start_value() | الحصول على الرقم الابتدائي لمستوى القائمة |
NumberingParser.get_delimiter() | الحصول على سلسلة الفاصل لمستوى القائمة |
محلل النمط
StyleParser يحلل أسماء الأنماط إلى كائنات ParsedStyle منظمة. يحدد العناوين، والاقتباسات، وكتل الشيفرة، وفقرة القوائم من أسماء أنماط DOCX.
| الطريقة | الوصف |
|---|---|
StyleParser.parse() | تحليل اسم نمط إلى كائن ParsedStyle |
StyleParser.get_style_chain() | تحليل سلسلة من أسماء الأنماط للأنماط الموروثة |
StyleParser.is_setext_heading() | التحقق مما إذا كان النمط عنوانًا بنمط Setext |
StyleParser.extract_all_styles() | استخراج أسماء الأنماط الفردية من سلسلة مفصولة بفواصل |
نموذج بيانات الترقيم
يتم تخزين بيانات الترقيم المُحللة في كائنات مُهيكلة:
| الفئة | الوصف |
|---|---|
NumberingInfo | تعريف الترقيم مع num_id، abstract_num_id، وlevels |
NumberingLevel | تعريف المستوى مع format، start، وtext |
ListInfo | معلومات حول نسخة قائمة محددة |
ListLevelInfo | تفاصيل تنسيق خاصة بالمستوى |
نصائح وأفضل الممارسات
- استدعِ
parse_numbering_part()مرة واحدة بعد تحميل المستند لملء جميع تعريفات القوائم - استخدم
is_ordered_list()للتمييز بين القوائم المرقمة والقوائم النقطية - استخدم
get_style_chain()لتحليل سلاسل الأنماط الموروثة في استدعاء واحد - يتم استخدام محللات الترقيم والأنماط داخليًا في خط أنابيب تحويل المستندات
مشكلات شائعة
| المشكلة | السبب | الإصلاح |
|---|---|---|
| تعريفات ترقيم فارغة | المستند لا يحتوي على قوائم | تحقق من قيمة الإرجاع get_list_info() قبل الوصول إلى الخصائص |
| نمط مفقود | اسم النمط غير معروف | استخدم parse() مع اسم نمط معروف |
| مستوى قائمة غير صحيح | معامل المستوى غير صحيح | مستويات القوائم تبدأ من الصفر |
ملخص مرجع API
| الفئة / الطريقة | الوصف |
|---|---|
NumberingParser.parse_numbering_part() | تحليل تعريفات الترقيم في DOCX |
NumberingParser.get_list_info() | استعلام عن معلومات القائمة حسب المعرف |
NumberingParser.is_ordered_list() | التحقق مما إذا كان مستوى القائمة مرتّبًا |
StyleParser.parse() | تحليل اسم النمط إلى معلومات منظمة |
StyleParser.get_style_chain() | تحليل سلسلة من أسماء الأنماط الموروثة |
NumberingInfo | نموذج بيانات تعريف الترقيم |
NumberingLevel | تعريف المستوى مع التنسيق والقيمة الابتدائية |