حقول الترقيم (AUTONUM, PAGE, SEQ، وأكثر)

حقول الترقيم (AUTONUM, PAGE, SEQ، وأكثر)

حقول الترقيم (AUTONUM، PAGE، SEQ، والمزيد)

هذا الدليل يوضح كيفية العمل مع حقول الترقيم التلقائي في Word Aspose.Words FOSS لـ .NET، وكيف تختلف عن الترقيم القائم على القوائم. العمل مع القوائم covers List, ListFormat، و ListLevel – نموذج الكائن وراء فقرات القوائم المرقمة والمرقمة بالنقاط في Word. كما أن Word لديها عائلة منفصلة من الترقيم fields التي تحسب رقمًا في موضع الحقل داخل النص، بدلاً من خلال تنسيق قائمة الفقرات: الترقيم التلقائي القانوني وتخطيط المستند، عدادات الصفحات والأقسام، الترقيم المرتبط بالقوائم، والسلاسل المسماة. إنها نمذج كل منها كـ Field فئة فرعية في الـ Aspose.Words.Fields namespace، بالإضافة إلى NumberStyle enum المشترك بين مستويات القوائم، الحواشي السفلية والحواشي النهائية، وأرقام الصفحات لاختيار طريقة عرض الرقم.


حقول الترقيم التلقائي: AUTONUM, AUTONUMLGL, AUTONUMOUT

FieldAutoNum يطبق AUTONUM الحقل (ترقيم تسلسلي بسيط) ويكشف عن SeparatorCharacter. FieldAutoNumLgl implements AUTONUMLGL (ترقيم قانوني/على نمط المخطط)، إضافة RemoveTrailingPeriod جنباً إلى جنب مع الخاص به SeparatorCharacter. FieldAutoNumOut implements AUTONUMOUT (ترقيم المخطط) وليس له خصائص خاصة به تتجاوز القاعدة Field الأعضاء الموضحين في العمل مع الحقول.


الترقيم المرتبط بالقائمة باستخدام FieldListNum

FieldListNum ينفّذ حقل LISTNUM: ListName يحدد تعريف الترقيم التجريدي الذي سيُستخدم، وHasListName يبلّغ ما إذا كان رمز الحقل يزوّد باسم فعليًا. ListLevel يتجاوز مستوى القائمة الافتراضي الذي يرقم عنده الحقل، وStartingNumber يحدد القيمة التي يبدأ منها ترقيم الحقل.


عدادات الصفحات والأقسام: FieldPage, FieldSection, FieldSectionPages

FieldPage يطبق الـ PAGE حقل و FieldSectionPages implements SECTIONPAGES. كلاهما يعتمد على تخطيط الصفحة المحسوب لإنتاج نتيجة؛ كما هو الحال مع الـ NUMPAGES الحقل الموضح في العمل مع الحقول، قيم الحقول المعتمدة على التخطيط لا يتم حسابها في هذا الإصدار لأنه لا يتضمن محرك تخطيط/عرض للصفحات، لذا تُقيم هذه الحقول إلى عنصر نائب 0. FieldSection implements SECTION، تُعيد رقم القسم الحالي للمستند – لا تعتمد على الترقيم الصفحي ولا تتأثر بتلك القيود.


تسلسلات مسماة مع FieldSeq

FieldSeq يطبق حقل SEQ للتسلسلات المسماة ذات الترقيم المستقل (مثل الأشكال أو الجداول): SequenceIdentifier يحدد اسم التسلسل، و BookmarkName يوجه الحقل اختياريًا إلى عنصر آخر في المستند بدلاً من موقع الحقل نفسه. InsertNextNumber يُدرج الرقم التالي في التسلسل دون عرض قيمة للموقع الحالي، و ResetNumber / ResetHeadingLevel يعيدان عداد التسلسل إلى رقم محدد، أو يُعيدان تشغيله عند مستوى عنوان معين.


FieldRevNum

FieldRevNum يطبق حقل REVNUM، ولا يمتلك أي خصائص خاصة به بخلاف الأعضاء الأساسية Field.


تنسيق الأرقام باستخدام NumberStyle

NumberStyle هو التعداد (enum) المستخدم عبر مستويات القوائم، وترقيم الحواشي/الحواشي الختامية، وأرقام الصفحات لاختيار طريقة عرض الرقم. تشمل الأنماط الشائعة Arabic، UppercaseRoman / LowercaseRoman، UppercaseLetter / LowercaseLetter، Ordinal، و OrdinalText، إلى جانب مجموعة كبيرة من الأنماط الخاصة باللغات (Kanji، Hangul، Hanja، ThaiLetter، HindiLetter1، والعديد غيرها) بالإضافة إلى Bullet، LeadingZero، None، و Custom لتنسيق يُقدمه المستدعي.


نصائح وأفضل الممارسات

  • استخدم FieldListNum عندما يحتاج رقم إلى الإشارة إلى تعريف قائمة موجود بالاسم؛ استخدم FieldAutoNum/FieldAutoNumLgl/FieldAutoNumOut للترقيم الذي لا يرتبط بـ List محدد.
  • تذكر أن FieldPage و FieldSectionPages يعتمدان على التخطيط، كما هو الحال مع NUMPAGES – لا تعتمد على أن Result الخاصة بهما تعكس عدد صفحات محسبًا فعليًا في هذا الإصدار.
  • استخدم FieldSeq.BookmarkName عندما يحتاج حقل SEQ إلى الإشارة إلى رقم معرف في مكان آخر من المستند بدلاً من زيادة عداده الخاص في موقع الحقل.
  • حدد FieldSeq.ResetHeadingLevel عندما يجب أن يبدأ تسلسل مرقم (مثل أرقام الأشكال) من جديد عند كل فصل أو عنوان قسم جديد.

مشكلات شائعة

المشكلةالسببالإصلاح
FieldPage أو FieldSectionPages دائمًا يُظهر 0هذه الحقول تعتمد على تخطيط الصفحات المحسوب، والذي ليس جزءًا من هذا الإصدارالسلوك المتوقع – استخدم النسخة التجارية Aspose.Words لـ .NET إذا كان عدد الصفحات المحسوب مطلوبًا
FieldListNum لا يستخدم تنسيق القائمة المتوقعListName لا يتطابق مع تعريف ترقيم تجريدي موجود في المستندتأكد من اسم القائمة الدقيق، أو تحقق من HasListName لترى ما إذا كان كود الحقل يوفره على الإطلاق
FieldSeq الأرقام لا تعيد البدء حيث يُتوقعResetNumber أو ResetHeadingLevel لم يتم تعيينه على الحقل الذي يجب أن يعيد تشغيل السلسلةقم بتعيين خاصية إعادة الضبط المناسبة على ذلك المثيل من FieldSeq

FAQ

ما الفرق بين ترقيم القوائم وهذه الحقول الرقمية؟

ترقيم القوائم (List, ListFormat, ListLevel, مغطى في العمل مع القوائم) ينسق الفقرات بالكامل كعناصر قائمة. الحقول في هذه الصفحة تحسب رقمًا في نقطة معينة من النص – للتسلسلات، عدادات الصفحات/الأقسام، أو الترقيم التلقائي على الطراز القانوني – مستقلة عن تنسيق قائمة الفقرات.

لماذا يتم تقييم حقل PAGE دائمًا إلى 0؟

FieldPage يعتمد على تخطيط الصفحة المحسوب، وهذا الإصدار لا يتضمن محرك تخطيط/عرض الصفحات – السبب نفسه هو أن NUMPAGES يُقيم إلى قيمة عنصر نائب.

كيف يمكنني إنشاء تسلسل مسمى، مرقم بشكل مستقل مثل “Figure 1”، “Figure 2”؟

استخدم FieldSeq مع SequenceIdentifier ثابت (مثل "Figure") عبر كل مثيل حقل؛ كل منها يعرض الرقم التالي في ذلك التسلسل.

كيف يمكنني التحكم في نمط الأرقام أو الحروف الذي يُعرض به الرقم؟

استخدم تعداد NumberStyle – القيم مثل Arabic، UppercaseRoman، LowercaseLetter، وOrdinalText تختار نمط العرض، إلى جانب Bullet، None، وCustom للتنسيقات غير الرقمية أو التي يقدمها المستدعي.


API Reference ملخص

فئة / تعدادوصف
FieldAutoNumAUTONUM field; SeparatorCharacter
FieldAutoNumLglAUTONUMLGL حقل; RemoveTrailingPeriod, SeparatorCharacter
FieldAutoNumOutAUTONUMOUT حقل
FieldListNumLISTNUM حقل; ListName, HasListName, ListLevel, StartingNumber
FieldPagePAGE حقل (معتمد على التخطيط؛ يُقيّم إلى 0 في هذا الإصدار)
FieldSectionSECTION حقل
FieldSectionPagesSECTIONPAGES حقل (معتمد على التخطيط؛ يُقَيِّم إلى 0 في هذه النسخة)
FieldSeqSEQ حقل; SequenceIdentifier, BookmarkName, InsertNextNumber, ResetNumber, ResetHeadingLevel
FieldRevNumREVNUM حقل
NumberStyleتعداد لأنماط عرض الأرقام المستخدمة في مستويات القوائم، الحواشي/الحواشي السفلية، وأرقام الصفحات

انظر أيضاً

 العربية