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

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

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

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

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

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

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

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

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

apply-formatting-to-table-level-aspose-words-java

apply-formatting-to-table-level-aspose-words-java

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

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

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

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

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

apply-formatting-to-row-level-aspose-words-java

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

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

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

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

apply-formatting-to-cell-level-aspose-words-java

apply-auto-formatting-to-row-level-aspose-words-java

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

تظهر الصور أدناه تمثيلا لـ preferred width setting features في Microsoft Word وخصائصها المقابلة في Aspose.Words.

formatting-table-properties-aspose-words-java

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

table-applied-options-java

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

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

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

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

يوضح مثال التعليمات البرمجية التالية كيفية تعيين الجدول إلى الملاءمة التلقائية إلى 50 ٪ من عرض الصفحة:

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

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

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

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

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

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

تسمح خاصية AllowAutoFit للخلايا الموجودة في الجدول بالنمو والانكماش وفقا لمعيار محدد. على سبيل المثال، يمكنك استخدام خيار AutoFit to Window لملاءمة الجدول مع عرض الصفحة، وخيار AutoFit to Content للسماح لكل خلية بالنمو أو الانكماش وفقا لمحتواها.

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

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

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

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

apply-different-autofit-settings-to-a-table-aspose-words-java

AutoFit الجدول إلى النافذة

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

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

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

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

autofit-table-aspose-words-java

AutoFit الجدول إلى المحتوى

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

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

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

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

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

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

resize-column-autofit-settings-aspose-words-java

تعطيل AutoFit في الجدول واستخدام عرض الأعمدة الثابتة

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

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

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

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

disable-autofit-settings-to-a-table-aspose-words-java

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

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

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

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

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

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

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

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

formatting-spacing-between-cells-aspose-words-java

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

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

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

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

apply-borders-shading-aspose-words-java-1

apply-borders-shading-aspose-words-java-2

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