العمل مع الأقسام

في بعض الأحيان تريد مستندا لا يحتوي على نفس التنسيق عبر جميع الصفحات. على سبيل المثال، قد تحتاج إلى تعديل تنسيقات أرقام الصفحات، أو اختلاف حجم الصفحة واتجاهها، أو جعل صفحة المستند الأولى كصفحة غلاف بدون أي ترقيم. يمكنك تحقيق ذلك مع الأقسام.

الأقسام عبارة عن عقد مستوية تتحكم في الرؤوس والتذييلات والاتجاه والأعمدة والهوامش وتنسيق رقم الصفحة وغيرها.

Aspose.Words يسمح لك بإدارة الأقسام وتقسيم المستند إلى أقسام وإجراء تغييرات التنسيق التي تنطبق فقط على قسم معين. Aspose.Words يخزن معلومات حول تنسيق القسم مثل الرؤوس والتذييلات وإعداد الصفحة وإعدادات الأعمدة في فاصل القسم.

تشرح هذه المقالة كيفية العمل مع الأقسام وفواصل الأقسام.

ما القسم وكسر القسم هو

يتم تمثيل أقسام المستند بالفئتين Section و SectionCollection. كائنات القسم هي أطفال فوريون لعقدة Document ويمكن الوصول إليها عبر خاصية Sections. يمكنك إدارة هذه العقد باستخدام بعض الطرق مثل Remove, Add, IndexOf, وغيرها.

فاصل المقطع هو خيار يقسم صفحات المستند إلى أقسام ذات تخطيطات قابلة للتخصيص.

أنواع استراحة القسم

Aspose.Words يسمح لك بتقسيم المستندات وتنسيقها باستخدام فواصل أقسام مختلفة من BreakType تعداد:

  • SectionBreakContinuous
  • SectionBreakNewColumn
  • SectionBreakNewPage
  • SectionBreakEvenPage
  • SectionBreakOddPage

يمكنك أيضا استخدام SectionStart التعداد لاختيار نوع فاصل ينطبق فقط على القسم الأول مثل NewColumn, NewPage, EvenPage, و OddPage.

إدارة قسم

نظرا لأن القسم عبارة عن عقدة مركبة عادية، يمكن استخدام معالجة العقدة بأكملها API لمعالجة الأقسام: للإضافة والإزالة والعمليات الأخرى على الأقسام. يمكنك قراءة المزيد عن العقد في المقالة Aspose.Words نموذج كائن المستند (DOM).

من ناحية أخرى، يمكنك أيضا استخدام DocumentBuilder API للعمل مع الأقسام. في هذه المقالة، سنركز على هذه الطريقة الخاصة للعمل مع الأقسام.

إدراج أو إزالة فاصل المقطع

Aspose.Words يسمح لك بإدراج قسم فاصل في النص باستخدام طريقة InsertBreak.

يوضح مثال التعليمات البرمجية التالية كيفية إدراج قسم فاصل في مستند:

استخدم طريقة Remove لحذف فاصل مقطعي. إذا لم تكن بحاجة إلى إزالة فاصل قسم معين وحذف محتوى هذا القسم بدلا من ذلك، فيمكنك استخدام طريقة ClearContent.

يوضح مثال الكود التالي كيفية إزالة فواصل الأقسام:

نقل قسم

إذا كنت تريد نقل قسم من موضع إلى آخر في المستند، فأنت بحاجة إلى الحصول على فهرس هذا القسم. Aspose.Words يسمح لك بالحصول على موضع قسم من SectionCollection. يمكنك استخدام خاصية Sections للحصول على جميع الأقسام في المستند. ولكن إذا كنت ترغب في الحصول على القسم الأول فقط، يمكنك استخدام خاصية FirstSection.

يوضح مثال التعليمات البرمجية التالية كيفية الوصول إلى القسم الأول والتكرار من خلال الأطفال من عقدة مركبة:

حدد تخطيط القسم

في بعض الأحيان تريد أن يبدو المستند الخاص بك أفضل من خلال عمل تخطيطات إبداعية لأقسام المستندات المختلفة. إذا كنت تريد تحديد نوع شبكة القسم الحالية، فيمكنك اختيار وضع تخطيط القسم باستخدام SectionLayoutMode تعداد:

  • الافتراضي
  • الشبكة
  • LineGrid
  • SnapToChars

يوضح مثال التعليمات البرمجية التالية كيفية الحد من عدد الأسطر التي قد تحتوي عليها كل صفحة:

تحرير قسم

عند إضافة قسم جديد إلى المستند الخاص بك، لن يكون هناك نص أو فقرة يمكنك تعديلها. Aspose.Words يسمح لك بضمان احتواء القسم على نص به فقرة واحدة على الأقل باستخدام طريقة EnsureMinimum – سيضيف تلقائيا عقدة أساسية (أو HeaderFooter) إلى المستند ثم يضيف فقرة إليه.

يوضح مثال الكود التالي كيفية إعداد عقدة قسم جديدة باستخدام EnsureMinimum:

إلحاق المحتوى أو إلحاقه مسبقا

إذا كنت تريد رسم شكل ما أو إضافة نص أو صورة في بداية/نهاية القسم، فيمكنك استخدام طريقتي AppendContent و PrependContent لفئة Section.

يوضح مثال التعليمات البرمجية التالية كيفية إلحاق محتوى قسم موجود:

استنساخ قسم

Aspose.Words يسمح لك بتكرار قسم عن طريق إنشاء نسخة كاملة منه باستخدام طريقة deepClone.

يوضح مثال الكود التالي كيفية استنساخ القسم الأول في المستند:

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

في بعض الحالات، قد يكون لديك مستندات كبيرة بها العديد من الأقسام وتريد نسخ محتوى قسم من مستند إلى آخر.

Aspose.Words يسمح لك بنسخ الأقسام بين المستندات باستخدام طريقة ImportNode.

يوضح مثال الكود التالي كيفية نسخ الأقسام بين المستندات:

العمل مع رأس القسم وتذييل الصفحة

القواعد الأساسية لعرض رأس أو تذييل لكل قسم بسيطة للغاية:

  1. إذا لم يكن للقسم رؤوس / تذييلات خاصة به من نوع معين، فسيتم أخذه من القسم السابق.
  2. يتم التحكم في نوع الرأس/التذييل المعروض على الصفحة من خلال إعدادات قسم “الصفحة الأولى المختلفة” و “الصفحات الفردية والزوجية المختلفة” – إذا تم تعطيلها، فسيتم تجاهل عناوين القسم الخاصة.

يوضح مثال التعليمات البرمجية التالية كيفية إنشاء أقسام 2 مع رؤوس مختلفة:

إذا كنت تريد إزالة نص الرؤوس والتذييلات دون إزالة HeaderFooter كائنات في المستند، فيمكنك استخدام طريقة ClearHeadersFooters. بالإضافة إلى ذلك، يمكنك استخدام طريقة DeleteHeaderFooterShapes لإزالة جميع الأشكال من الرؤوس والتذييلات في المستند.

يوضح مثال الكود التالي كيفية مسح محتوى جميع الرؤوس والتذييلات في قسم:

مثال التعليمات البرمجية التالية كيفية إزالة كافة الأشكال من كافة رؤوس التذييلات في قسم:

تخصيص خصائص الصفحة في قسم

قبل طباعة صفحة أو مستند، قد ترغب في تخصيص وتعديل حجم وتخطيط صفحة واحدة أو المستند بأكمله. باستخدام إعداد الصفحة، يمكنك تغيير إعدادات صفحات المستند مثل الهوامش والاتجاه والحجم لطباعة صفحات أولى مختلفة أو صفحات فردية.

Aspose.Words يسمح لك بتخصيص خصائص الصفحة والقسم باستخدام فئة PageSetup.

يوضح مثال التعليمات البرمجية التالية كيفية تعيين خصائص مثل حجم الصفحة والاتجاه للقسم الحالي:

يوضح مثال التعليمات البرمجية التالية كيفية تعديل خصائص الصفحة في جميع الأقسام:

أنظر أيضا