العمل مع جدول المحتويات
غالبا ما ستعمل مع المستندات التي تحتوي على جدول محتويات (TOC). باستخدام Aspose.Words يمكنك إدراج جدول المحتويات الخاص بك أو إعادة بناء جدول المحتويات الحالي بالكامل في المستند باستخدام بضعة أسطر فقط من التعليمات البرمجية.
توضح هذه المقالة كيفية العمل مع حقل جدول المحتويات وتوضح:
- كيفية إدراج العلامة التجارية الجديدة TOC.
- تحديث جديد أو موجود TOCs في المستند.
- حدد مفاتيح للتحكم في التنسيق والهيكل العام لـ TOC.
- كيفية تعديل أنماط ومظهر جدول المحتويات.
- كيفية إزالة حقل
TOC
بالكامل مع جميع الإدخالات من المستند.
إدراج جدول المحتويات برمجيا
يمكنك إدراج حقل TOC
(جدول المحتويات) في المستند في الموضع الحالي عن طريق استدعاء طريقة InsertTableOfContents.
يمكن إنشاء جدول محتويات في مستند ورد بعدة طرق وتنسيقه باستخدام مجموعة متنوعة من الخيارات. تتحكم مفاتيح الحقل التي تمررها إلى الطريقة في طريقة إنشاء الجدول وعرضه في المستند.
المحولات الافتراضية المستخدمة في TOC
المدرجة في Microsoft Word هي "\o “1-3 \h \z \u”. يمكن العثور على أوصاف هذه المفاتيح بالإضافة إلى قائمة المفاتيح المدعومة لاحقا في المقالة. يمكنك إما استخدام هذا الدليل للحصول على مفاتيح التبديل الصحيحة أو إذا كان لديك بالفعل مستند يحتوي على TOC
المماثل الذي تريده، يمكنك إظهار رموز الحقول (ALT+F9) ونسخ المفاتيح مباشرة من الحقل.
يوضح مثال التعليمات البرمجية التالية كيفية إدراج حقل جدول محتويات في مستند:
يوضح مثال التعليمات البرمجية التالية كيفية إدراج جدول محتويات (TOC) في مستند باستخدام أنماط العنوان كإدخالات:
يوضح رمز يتم إدراج جدول المحتويات الجديد في مستند فارغ. ثم يتم استخدام فئة DocumentBuilder لإدراج بعض نماذج تنسيق المحتوى باستخدام أنماط العناوين المناسبة التي يتم استخدامها لتمييز المحتوى المراد تضمينه في TOC. ثم تقوم الأسطر التالية بملء TOC
عن طريق تحديث الحقول وتخطيط صفحة المستند.
TOC
، ولكن بدون محتوى مرئي. هذا لأنه تم إدراج الحقل TOC
ولكن لم يتم ملؤه بعد حتى يتم تحديثه في المستند. تتم مناقشة مزيد من المعلومات حول هذا في القسم التالي.
تحديث جدول المحتويات
Aspose.Words يسمح لك لتحديث تماما TOC
مع بضعة أسطر فقط من التعليمات البرمجية. يمكن القيام بذلك لملء TOC
مدرج حديثا أو لتحديث TOC
موجود بعد إجراء تغييرات على المستند.
يجب استخدام الطريقتين التاليتين لتحديث الحقول TOC
في المستند:
يرجى ملاحظة أن هذه الأساليب التحديث اثنين مطلوبة ليتم استدعاؤها في هذا النظام. إذا عكس جدول المحتويات سيتم ملؤها ولكن سيتم عرض أي أرقام الصفحات. يمكن تحديث أي عدد من TOCs مختلفة. ستعمل هذه الطرق تلقائيا على تحديث الكل TOCs الموجود في المستند.
يوضح مثال التعليمات البرمجية التالية كيفية إعادة إنشاء حقول TOC
بالكامل في المستند عن طريق استدعاء تحديثات الحقول:
الدعوة الأولى إلى Document.updateFields() وبناء TOC
، يتم تعبئة كافة إدخالات النص و TOC
يظهر كاملة تقريبا. الشيء الوحيد المفقود هو أرقام الصفحات التي يتم عرضها الآن مع “?”.
المكالمة الثانية إلى Document.updatePageLayout() ستبني تخطيط المستند في الذاكرة. هذا يجب القيام به لجمع أرقام الصفحات من الإدخالات. ثم يتم إدراج أرقام الصفحات الصحيحة المحسوبة من هذه المكالمة في TOC.
استخدم المفاتيح للتحكم في سلوك جدول المحتويات
كما هو الحال مع أي حقل آخر، يمكن للحقل TOC
قبول المحولات المحددة داخل رمز الحقل الذي يتحكم في كيفية إنشاء جدول المحتويات. يتم استخدام مفاتيح معينة للتحكم في الإدخالات المضمنة وعلى أي مستوى بينما يتم استخدام مفاتيح أخرى للتحكم في مظهر TOC. يمكن دمج المفاتيح معا للسماح بإنتاج جدول محتويات معقد.
بشكل افتراضي، يتم تضمين هذه المفاتيح أعلاه عند إدراج افتراضي TOC
في المستند. سيتضمن TOC
بدون مفاتيح محتوى من أنماط العناوين المضمنة (كما لو تم تعيين مفتاح \O).
مفاتيح TOC
المتاحة التي يدعمها Aspose.Words مدرجة أدناه ويتم وصف استخداماتها بالتفصيل. يمكن تقسيمها إلى أقسام منفصلة بناء على نوعها. تحدد المفاتيح في القسم الأول المحتوى الذي يجب تضمينه في TOC
وتتحكم المفاتيح في القسم الثاني في مظهر TOC.
إذا لم يكن مفتاح التبديل مدرجا هنا، فهو غير مدعوم حاليا. سيتم دعم جميع المفاتيح في الإصدارات المستقبلية. نحن نضيف المزيد من الدعم لكل إصدار.
دخول بمناسبة مفاتيح
التبديل | الوصف |
---|---|
Heading Styles * (\O التبديل)* |
يحدد مفتاح التبديل هذا أنه يجب إنشاء
|
Outline Levels * (\U التبديل)* |
يمكن لكل فقرة تحديد مستوى مخطط تفصيلي ضمن خيارات الفقرة.
لاحظ أن أنماط العناوين المضمنة مثل Heading 1 تحتوي على مجموعة إلزامية لمستوى المخطط التفصيلي في إعدادات النمط.
|
Custom Styles * (\T التبديل)* |
سيسمح مفتاح التبديل هذا باستخدام الأنماط المخصصة عند جمع الإدخالات لاستخدامها في TOC. غالبا ما يتم استخدام هذا بالاقتران مع مفتاح \O لتضمين الأنماط المخصصة جنبا إلى جنب مع أنماط العناوين المضمنة في TOC.
سيستخدم المحتوى المصمم مع CustomHeading1 كمحتوى المستوى 1 في |
استخدم TC الحقول * (\F و \L مفاتيح)* |
في الإصدارات القديمة من Microsoft Word، كانت الطريقة الوحيدة لإنشاء يمكن إدراج هذه الحقول في مستند في أي موضع مثل أي حقل آخر ويتم تمثيلها بواسطة
سوف تشمل فقط TC حقول مثل
يحتوي حقل
- \F - موضح أعلاه. - \L - يحدد أي مستوى في - |
مفاتيح ذات صلة بالمظهر
التبديل | الوصف |
---|---|
Omit Page Numbers * (\N التبديل)* |
يستخدم مفتاح التبديل هذا لإخفاء أرقام الصفحات لمستويات معينة من TOC. على سبيل المثال، يمكنك تحديد
وسيتم إخفاء أرقام الصفحات في إدخالات المستويين 3 وأربعة مع نقاط القائد (إن وجدت). لتحديد مستوى واحد فقط، يجب الاستمرار في استخدام النطاق، على سبيل المثال، “1-1” سيستبعد أرقام الصفحات للمستوى الأول فقط. |
إدراج ارتباطات تشعبية * (\H التبديل)* |
يحدد مفتاح التبديل هذا أن الإدخالات |
Set Separator Character * (\P التبديل)* |
يسمح مفتاح التبديل هذا بتغيير المحتوى الذي يفصل عنوان الإدخال وترقيم الصفحات بسهولة في TOC. يجب تحديد الفاصل المراد استخدامه بعد هذا المفتاح وإرفاقه بعلامات الكلام. |
Preserve Tab Entries * (\W التبديل)* |
سيؤدي استخدام مفتاح التبديل هذا إلى تحديد أي إدخالات تحتوي على حرف علامة تبويب، على سبيل المثال، عنوان يحتوي على علامة تبويب في نهاية السطر، سيتم الاحتفاظ به كحرف علامة تبويب مناسب عند ملء TOC. هذا يعني أن وظيفة حرف علامة التبويب ستكون موجودة في |
Preserve New Line Entries * (\X التبديل)* |
على غرار المفتاح أعلاه، يحدد هذا المفتاح أنه سيتم الاحتفاظ بالعناوين الممتدة عبر أسطر متعددة (باستخدام أحرف السطر الجديد، وليس الفقرات المنفصلة) كما هي في TOC الذي تم إنشاؤه. على سبيل المثال، يمكن للعنوان الذي ينتشر عبر أسطر متعددة استخدام حرف السطر الجديد (كترل + إنتر أو |
أدخل TC الحقول
يمكنك إدراج حقل TC جديد في الموضع الحالي لـ DocumentBuilder
عن طريق استدعاء طريقة DocumentBuilder.InsertField
وتحديد اسم الحقل على أنه “TC” مع أي مفاتيح مطلوبة.
يوضح مثال الكود التالي كيفية إدراج حقل TC
في المستند باستخدام DocumentBuilder.
غالبا ما يتم تعيين سطر معين من النص لـ TOC
ويتم تمييزه بحقل TC
. الطريقة السهلة للقيام بذلك في MS كلمة هي تسليط الضوء على النص واضغط ALT+SHIFT+O. يؤدي هذا تلقائيا إلى إنشاء حقل TC
باستخدام النص المحدد. يمكن تحقيق نفس الأسلوب من خلال الكود. سيجد الرمز أدناه نصا مطابقا للإدخال وإدراج حقل TC
في نفس موضع النص. يعتمد الرمز على نفس التقنية المستخدمة في المقالة. يوضح مثال الكود التالي كيفية العثور على حقل TC
وإدراجه في النص في مستند.
تعديل جدول المحتويات
تغيير تنسيق الأنماط
لا يستخدم تنسيق الإدخالات في TOC
الأنماط الأصلية للإدخالات المحددة، وبدلا من ذلك، يتم تنسيق كل مستوى باستخدام نمط TOC
مكافئ. على سبيل المثال، يتم تنسيق المستوى الأول في TOC
مع نمط TOC1، والمستوى الثاني تنسيق مع نمط TOC2 وهلم جرا. هذا يعني أنه لتغيير مظهر TOC
يجب تعديل هذه الأنماط. في Aspose.Words يتم تمثيل هذه الأنماط من خلال StyleIdentifier.TOC1
المستقل عن اللغة إلى StyleIdentifier.TOC9
ويمكن استرجاعها من مجموعة Document.Styles
باستخدام هذه المعرفات.
بمجرد استرداد النمط المناسب للمستند، يمكن تعديل تنسيق هذا النمط. ستنعكس أي تغييرات على هذه الأنماط تلقائيا في TOCs في المستند.
يغير مثال التعليمات البرمجية التالية خاصية تنسيق المستخدمة في النمط TOC
المستوى الأول.
من المفيد أيضا ملاحظة أن أي تنسيق مباشر لفقرة (محددة في الفقرة نفسها وليس في النمط) تم وضع علامة عليها ليتم تضمينها في TOC
سيتم نسخها في الإدخال في TOC. على سبيل المثال، إذا تم استخدام نمط Heading 1 لتمييز محتوى TOC
وكان هذا النمط يحتوي على تنسيق غامق بينما تحتوي الفقرة أيضا على تنسيق مائل مطبق عليه مباشرة. لن يكون الإدخال TOC
الناتج غامقا لأن هذا جزء من تنسيق النمط ولكنه سيكون مائلا حيث يتم تنسيق هذا مباشرة في الفقرة.
يمكنك أيضا التحكم في تنسيق الفواصل المستخدمة بين كل إدخال ورقم الصفحة. بشكل افتراضي، هذا خط منقط ينتشر عبر ترقيم الصفحات باستخدام حرف علامة تبويب وتوقف علامة تبويب يمين مصطف بالقرب من الهامش الأيمن.
باستخدام فئة Style
التي تم استردادها لمستوى TOC
المحدد الذي تريد تعديله، يمكنك أيضا تعديل كيفية ظهورها في المستند.
لتغيير كيفية ظهور هذا أولا، يجب استدعاء Style.ParagraphFormat
لاسترداد تنسيق الفقرة للنمط. من هذا، يمكن استرداد علامات التبويب توقف عن طريق الاتصال ParagraphFormat.TabStops
وتعديل علامة التبويب المناسبة. باستخدام هذه التقنية نفسها، يمكن نقل علامة التبويب نفسها أو إزالتها تماما.
يوضح مثال الكود التالي كيفية تعديل موضع علامة التبويب اليمنى توقف في TOC
الفقرات ذات الصلة.
إزالة جدول محتويات من المستند
يمكن إزالة جدول المحتويات من المستند عن طريق إزالة جميع العقد الموجودة بين عقدة FieldStart
و FieldEnd في حقل TOC
.
يوضح الرمز أدناه هذا. إزالة الحقل TOC
أبسط من الحقل العادي لأننا لا نتتبع الحقول المتداخلة. بدلا من ذلك، نتحقق من أن العقدة FieldEnd
من النوع FieldType.FieldTOC
مما يعني أننا واجهنا نهاية TOC الحالي. يمكن استخدام هذه التقنية في هذه الحالة دون القلق بشأن أي حقول متداخلة حيث يمكننا أن نفترض أن أي مستند تم تكوينه بشكل صحيح لن يحتوي على حقل TOC
متداخل بالكامل داخل حقل TOC
آخر.
أولا FieldStart
يتم جمع العقد من كل TOC
وتخزينها. ثم يتم تعداد TOC
المحدد بحيث تتم زيارة جميع العقد داخل الحقل وتخزينها. ثم تتم إزالة العقد من المستند. يوضح مثال التعليمات البرمجية التالية كيفية إزالة TOC
محدد من مستند.
استخراج جدول المحتويات
إذا كنت تريد استخراج جدول محتويات من أي مستند ورد، فيمكن استخدام نموذج التعليمات البرمجية التالي.