تطبيق تنسيق الجدول

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

يوفر Aspose.Words API غنيًا لاسترداد التنسيق وتطبيقه على الجدول. يمكنك استخدام العقد Table وRowFormat وCellFormat لتعيين التنسيق.

في هذه المقالة، سنتحدث عن كيفية تطبيق التنسيق على عقد الجدول المختلفة وإعدادات تنسيق الجدول التي يدعمها Aspose.Words.

تطبيق التنسيق على العقد المختلفة

في هذا القسم، سننظر في تطبيق التنسيق على عقد الجدول المختلفة.

تنسيق مستوى الجدول

لتطبيق التنسيق على جدول، يمكنك استخدام الخصائص المتوفرة على عقدة Table المقابلة باستخدام فئات Table وPreferredWidth وTableCollection.

تُظهر الصور أدناه تمثيلاً لميزات تنسيق Table في Microsoft Word وخصائصها المقابلة في Aspose.Words.

formattin-features-table-level-aspose-words-net

formatting-table-options-aspose-words-net

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

يوضح مثال التعليمات البرمجية التالي كيفية إنشاء جدول مع تمكين كافة الحدود (الشبكة):

تنسيق مستوى الصف

يمكن التحكم في تنسيق على مستوى الصف باستخدام فئات Row وRowFormat وRowCollection.

تُظهر الصور أدناه تمثيلاً لميزات تنسيق Row في Microsoft Word وخصائصها المقابلة في Aspose.Words.

formatting-row-level-aspose-words-net

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

تنسيق مستوى الخلية

يتم التحكم في التنسيق على مستوى الخلية بواسطة فئات Cell وCellFormat وCellCollection.

تُظهر الصور أدناه تمثيلاً لميزات تنسيق Cell في Microsoft Word وخصائصها المقابلة في Aspose.Words.

formatting-cell-level-aspose-words-net

auto-formatting-cell-level-aspose-words-net

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

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

تحديد ارتفاعات الصف

إن أبسط طريقة لتعيين ارتفاع الصف هي استخدام DocumentBuilder. باستخدام خصائص RowFormat المناسبة، يمكنك تعيين إعداد الارتفاع الافتراضي أو تطبيق ارتفاع مختلف لكل صف في الجدول.

في Aspose.Words، يتم التحكم في ارتفاع صف الجدول عن طريق:

  • خاصية ارتفاع الصف – Height
  • خاصية قاعدة الارتفاع للصف المحدد - HeightRule

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

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

تحديد عرض الجدول والخلية

يوفر الجدول الموجود في مستند Microsoft Word عدة طرق مختلفة لتغيير حجم الجدول والخلايا الفردية. تتيح هذه الخصائص تحكمًا كبيرًا في مظهر الجدول وسلوكه، بحيث يدعم Aspose.Words سلوك الجداول، كما هو الحال في Microsoft Word.

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

  • العرض المفضل على الطاولة
  • العرض المفضل على الخلايا الفردية
  • السماح بالاحتواء التلقائي على الطاولة

توضح هذه المقالة كيفية عمل خصائص حساب عرض الجدول المختلفة وكيفية التحكم الكامل في حساب عرض الجدول. هذا هو من المفيد بشكل خاص معرفة مثل هذه الحالات التي لا يظهر فيها تخطيط الجدول كما هو متوقع.

كيفية استخدام العرض المفضل

يتم تحديد العرض المطلوب للجدول أو الخلايا الفردية من خلال خاصية العرض المفضل، وهو الحجم الذي يسعى العنصر لملاءمته. أي أنه يمكن تحديد العرض المفضل للجدول بأكمله أو للخلايا الفردية. في بعض الحالات، قد لا يكون من الممكن ملاءمة هذا العرض تمامًا، ولكن العرض الفعلي سيكون قريبًا من هذه القيمة في معظم الحالات.

يتم تعيين نوع وقيمة العرض المفضل المناسب باستخدام طرق فئة PreferredWidth:

  • طريقة Auto لتحديد تلقائي أو “لا يوجد عرض مفضل”
  • طريقة FromPercent لتحديد النسبة المئوية للعرض
  • طريقة FromPoints لتحديد العرض بالنقاط

تُظهر الصور أدناه تمثيلاً لميزات إعداد العرض المفضلة في Microsoft Word والخصائص المقابلة لها في Aspose.Words.

formatting-table-properties-aspose-words-net

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

todo:image_alt_text

حدد الجدول المفضل أو عرض الخلية

في Aspose.Words، يتم تعيين عرض الجدول والخلية باستخدام خاصية Table.PreferredWidth وخاصية CellFormat.PreferredWidth، مع الخيارات المتاحة في تعداد PreferredWidthType:

  • Auto، وهو ما يعادل عدم وجود مجموعة عرض مفضلة
  • Percent، الذي يناسب العنصر بالنسبة للمساحة المتاحة في حجم النافذة أو الحاوية، ويعيد حساب القيمة عندما يتغير العرض المتاح
  • Points، الذي يتوافق مع عنصر العرض المحدد بالنقاط

سيؤدي استخدام خاصية Table.PreferredWidth إلى ضبط عرضه المفضل بالنسبة إلى حاويته: الصفحة أو عمود النص أو خلية الجدول الخارجي إذا كان جدولًا متداخلاً.

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

سيؤدي استخدام خاصية CellFormat.PreferredWidth في خلية معينة إلى ضبط العرض المفضل لها.

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

ابحث عن نوع العرض المفضل والقيمة

يمكنك استخدام خصائص Type وValue للعثور على تفاصيل العرض المفضلة للجدول أو الخلية المطلوبة.

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

كيفية ضبط الاحتواء التلقائي

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

افتراضيًا، يقوم Aspose.Words بإدراج جدول جديد باستخدام احتواء تلقائي للنافذة. سيتم تحديد حجم الجدول وفقًا لعرض الصفحة المتاح. لتغيير حجم جدول، يمكنك استدعاء الأسلوب AutoFit. تقبل هذه الطريقة تعداد AutoFitBehavior الذي يحدد نوع الاحتواء التلقائي الذي سيتم تطبيقه على الجدول.

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

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

الاحتواء التلقائي للجدول في النافذة

عند تطبيق الاحتواء التلقائي لنافذة على جدول، يتم تنفيذ العمليات التالية فعليًا خلف الكواليس:

  1. يتم تمكين خاصية Table.AllowAutoFit لتغيير حجم الأعمدة تلقائيًا لتناسب المحتوى المتاح، باستخدام قيمة Table.PreferredWidth بنسبة 100%
  2. تتم إزالة CellFormat.PreferredWidth من كافة خلايا الجدول
  3. تتم إعادة حساب عرض الأعمدة لمحتوى الجدول الحالي - والنتيجة النهائية هي جدول يشغل العرض المتاح بالكامل
  4. يتغير عرض الأعمدة في الجدول تلقائيًا عندما يقوم المستخدم بتحرير النص

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

الاحتواء التلقائي للجدول مع المحتوى

عندما يتم ضبط محتوى الجدول تلقائيًا، يتم تنفيذ الخطوات التالية فعليًا خلف الكواليس:

  1. يتم تمكين خاصية Table.AllowAutoFit لتغيير حجم كل خلية تلقائيًا وفقًا لمحتواها

  2. تتم إزالة عرض الجدول المفضل من Table.PreferredWidth، ويتم إزالة CellFormat.PreferredWidth لكل خلية في الجدول

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

يوضح مثال التعليمات البرمجية التالي كيفية ملاءمة الجدول تلقائيًا لمحتواه:

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

إذا تم تعطيل الاحتواء التلقائي للجدول وتم استخدام عرض الأعمدة الثابتة بدلاً من ذلك، فسيتم تنفيذ الخطوات التالية:

  1. تم تعطيل خاصية Table.AllowAutoFit بحيث لا تنمو الأعمدة أو تتقلص إلى محتواها

  2. تتم إزالة العرض المفضل للجدول بأكمله من Table.PreferredWidth، وتتم إزالة CellFormat.PreferredWidth من جميع خلايا الجدول

  3. النتيجة النهائية هي جدول يتم تحديد عرض أعمدته بواسطة خاصية CellFormat.Width، ولا يتم تغيير حجم أعمدته تلقائيًا عندما يقوم المستخدم بإدخال النص أو عند تغيير حجم الصفحة

يوضح مثال التعليمات البرمجية التالي كيفية تعطيل الاحتواء التلقائي وتمكين العرض الثابت للجدول المحدد:

ترتيب الأسبقية عند حساب عرض الخلية

يسمح Aspose.Words للمستخدمين بتحديد عرض الجدول أو الخلية من خلال كائنات متعددة، بما في ذلك CellFormat - خاصية Width الخاصة به غالبًا ما تكون متبقية من الإصدارات السابقة، ومع ذلك، فهي لا تزال مفيدة لتبسيط ضبط عرض الخلية.

من المهم معرفة أن خاصية CellFormat.Width تعمل بشكل مختلف اعتمادًا على خصائص العرض الأخرى الموجودة بالفعل في الجدول.

يستخدم Aspose.Words الترتيب التالي لحساب عرض الخلايا:

طلب ملكية وصف
1 يتم تحديد AllowAutoFit إذا تم تمكين AutoFit:
- قد يتجاوز الجدول العرض المفضل لاستيعاب المحتوى - وعادةً لا يتقلص إلى ما دون العرض المفضل
- يتم تجاهل أي تغيير في قيمة CellFormat.Width وستتناسب الخلية مع محتوياتها بدلاً من ذلك
2 PreferredWidthType بقيمة Points أو Percent تم تجاهل CellFormat.Width
3 PreferredWidthType بقيمة Auto يتم نسخ القيمة من CellFormat.Width وتصبح العرض المفضل للخلية (بالنقاط)

السماح بالتباعد بين الخلايا

يمكنك الحصول على أو تعيين أي مسافة إضافية بين خلايا الجدول المشابهة لخيار “تباعد الخلايا” في Microsoft Word. ويمكن القيام بذلك باستخدام خاصية AllowCellSpacing.

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

كلما - التباعد بين الخلايا - Aspose - الكلمات - الشبكة

يوضح مثال التعليمات البرمجية التالي كيفية تعيين التباعد بين الخلايا:

تطبيق الحدود والتظليل

يمكن تطبيق الحدود والتظليل إما على الجدول بأكمله باستخدام Table.SetBorder وTable.SetBorders وTable.SetShading، أو على خلايا محددة فقط باستخدام CellFormat.Borders وCellFormat.Shading. بالإضافة إلى ذلك، يمكن تعيين حدود الصفوف باستخدام RowFormat.Borders، ولكن لا يمكن تطبيق التظليل بهذه الطريقة.

توضح الصور أدناه إعدادات الحدود والظل في Microsoft Word والخصائص المقابلة لها في Aspose.Words.

formatting-border-line-aspose-words-net

formatting-cell-color-aspose-words-net

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