تطبيق تنسيق الجدول
يمكن تطبيق كل عنصر في الجدول بتنسيق مختلف. على سبيل المثال، سيتم تطبيق تنسيق الجدول على الجدول بأكمله، وتنسيق الصف على صفوف معينة فقط، وتنسيق الخلايا على خلايا معينة فقط.
يوفر Aspose.Words API غنيًا لاسترداد التنسيق وتطبيقه على الجدول. يمكنك استخدام العقد Table وRowFormat وCellFormat لتعيين التنسيق.
في هذه المقالة، سنتحدث عن كيفية تطبيق التنسيق على عقد الجدول المختلفة وإعدادات تنسيق الجدول التي يدعمها Aspose.Words.
تطبيق التنسيق على العقد المختلفة
في هذا القسم، سننظر في تطبيق التنسيق على عقد الجدول المختلفة.
تنسيق مستوى الجدول
لتطبيق التنسيق على جدول، يمكنك استخدام الخصائص المتوفرة على عقدة Table المقابلة باستخدام فئات Table وPreferredWidth وTableCollection.
تُظهر الصور أدناه تمثيلاً لميزات تنسيق Table في Microsoft Word وخصائصها المقابلة في Aspose.Words.
يوضح مثال التعليمات البرمجية التالي كيفية تطبيق حد مخطط تفصيلي على جدول:
يوضح مثال التعليمات البرمجية التالي كيفية إنشاء جدول مع تمكين كافة الحدود (الشبكة):
تنسيق مستوى الصف
يمكن التحكم في تنسيق على مستوى الصف باستخدام فئات Row وRowFormat وRowCollection.
تُظهر الصور أدناه تمثيلاً لميزات تنسيق Row في Microsoft Word وخصائصها المقابلة في Aspose.Words.
يوضح مثال التعليمات البرمجية التالي كيفية تعديل تنسيق صف الجدول:
تنسيق مستوى الخلية
يتم التحكم في التنسيق على مستوى الخلية بواسطة فئات Cell وCellFormat وCellCollection.
لاحظ أن Cell يمكن أن يكون عقدة فرعية لـ Row فقط. وفي الوقت نفسه، يجب أن يكون هناك Paragraph واحد على الأقل في Cell حتى يمكن تطبيق التنسيق عليه.
بالإضافة إلى Paragraph، يمكنك أيضًا إدراج ملف Table في ملف Cell.
تُظهر الصور أدناه تمثيلاً لميزات تنسيق Cell في Microsoft Word وخصائصها المقابلة في Aspose.Words.
يوضح مثال التعليمات البرمجية التالي كيفية تعديل تنسيق خلية الجدول:
يوضح مثال التعليمات البرمجية التالي كيفية تعيين مقدار المسافة (بالنقاط) لإضافتها إلى يسار/أعلى/يمين/أسفل محتويات الخلية:
تحديد ارتفاعات الصف
إن أبسط طريقة لتعيين ارتفاع الصف هي استخدام DocumentBuilder. باستخدام خصائص RowFormat المناسبة، يمكنك تعيين إعداد الارتفاع الافتراضي أو تطبيق ارتفاع مختلف لكل صف في الجدول.
في Aspose.Words، يتم التحكم في ارتفاع صف الجدول عن طريق:
- خاصية ارتفاع الصف – Height
- خاصية قاعدة الارتفاع للصف المحدد - HeightRule
وفي الوقت نفسه، يمكن ضبط ارتفاع مختلف لكل صف - وهذا يسمح لك بالتحكم في إعدادات الجدول على نطاق واسع.
يوضح مثال التعليمات البرمجية التالي كيفية إنشاء جدول يحتوي على خلية واحدة وتطبيق تنسيق الصف:
تحديد عرض الجدول والخلية
يوفر الجدول الموجود في مستند Microsoft Word عدة طرق مختلفة لتغيير حجم الجدول والخلايا الفردية. تتيح هذه الخصائص تحكمًا كبيرًا في مظهر الجدول وسلوكه، بحيث يدعم Aspose.Words سلوك الجداول، كما هو الحال في Microsoft Word.
من المهم معرفة أن عناصر الجدول تقدم العديد من الخصائص المختلفة التي يمكن أن تؤثر على كيفية حساب عرض الجدول الإجمالي، وكذلك الخلايا الفردية:
- العرض المفضل على الطاولة
- العرض المفضل على الخلايا الفردية
- السماح بالاحتواء التلقائي على الطاولة
توضح هذه المقالة كيفية عمل خصائص حساب عرض الجدول المختلفة وكيفية التحكم الكامل في حساب عرض الجدول. هذا هو من المفيد بشكل خاص معرفة مثل هذه الحالات التي لا يظهر فيها تخطيط الجدول كما هو متوقع.
في معظم الحالات، يوصى باستخدام الخلية المفضلة بدلاً من عرض الجدول. يتوافق عرض الخلية المفضل بشكل أكبر مع مواصفات تنسيق DOCX بالإضافة إلى نموذج Aspose.Words.
عرض الخلية هو في الواقع قيمة محسوبة لتنسيق DOCX. يمكن أن يعتمد عرض الخلية الفعلي على أشياء كثيرة. على سبيل المثال، يمكن أن يؤثر تغيير هوامش الصفحة أو عرض الجدول المفضل على عرض الخلية الفعلي.
عرض الخلية المفضل هو خاصية خلية مخزنة في المستند. لا يعتمد على أي شيء ولا يتغير عند تغيير الجدول أو خصائص الخلية الأخرى.
كيفية استخدام العرض المفضل
يتم تحديد العرض المطلوب للجدول أو الخلايا الفردية من خلال خاصية العرض المفضل، وهو الحجم الذي يسعى العنصر لملاءمته. أي أنه يمكن تحديد العرض المفضل للجدول بأكمله أو للخلايا الفردية. في بعض الحالات، قد لا يكون من الممكن ملاءمة هذا العرض تمامًا، ولكن العرض الفعلي سيكون قريبًا من هذه القيمة في معظم الحالات.
يتم تعيين نوع وقيمة العرض المفضل المناسب باستخدام طرق فئة PreferredWidth:
- طريقة Auto لتحديد تلقائي أو “لا يوجد عرض مفضل”
- طريقة FromPercent لتحديد النسبة المئوية للعرض
- طريقة FromPoints لتحديد العرض بالنقاط
تُظهر الصور أدناه تمثيلاً لميزات إعداد العرض المفضلة في Microsoft Word والخصائص المقابلة لها في Aspose.Words.
يمكن رؤية مثال لكيفية تطبيق هذه الخيارات على جدول حقيقي في المستند في الصورة أدناه.
حدد الجدول المفضل أو عرض الخلية
في Aspose.Words، يتم تعيين عرض الجدول والخلية باستخدام خاصية Table.PreferredWidth وخاصية CellFormat.PreferredWidth، مع الخيارات المتاحة في تعداد PreferredWidthType:
- Auto، وهو ما يعادل عدم وجود مجموعة عرض مفضلة
- Percent، الذي يناسب العنصر بالنسبة للمساحة المتاحة في حجم النافذة أو الحاوية، ويعيد حساب القيمة عندما يتغير العرض المتاح
- Points، الذي يتوافق مع عنصر العرض المحدد بالنقاط
سيؤدي استخدام خاصية Table.PreferredWidth إلى ضبط عرضه المفضل بالنسبة إلى حاويته: الصفحة أو عمود النص أو خلية الجدول الخارجي إذا كان جدولًا متداخلاً.
يوضح مثال التعليمات البرمجية التالي كيفية تعيين الجدول ليتناسب تلقائيًا مع 50% من عرض الصفحة:
سيؤدي استخدام خاصية CellFormat.PreferredWidth في خلية معينة إلى ضبط العرض المفضل لها.
يوضح مثال التعليمات البرمجية التالي كيفية تعيين إعدادات العرض المفضلة المختلفة:
ابحث عن نوع العرض المفضل والقيمة
يمكنك استخدام خصائص Type وValue للعثور على تفاصيل العرض المفضلة للجدول أو الخلية المطلوبة.
يوضح مثال التعليمات البرمجية التالي كيفية استرداد نوع العرض المفضل لخلية الجدول:
كيفية ضبط الاحتواء التلقائي
تسمح الخاصية AllowAutoFit للخلايا الموجودة في الجدول بالنمو والتقلص وفقًا لمعيار محدد. على سبيل المثال، يمكنك استخدام خيار احتواء تلقائي للنافذة لملاءمة الجدول مع عرض الصفحة، وخيار الاحتواء التلقائي للمحتوى للسماح لكل خلية بالنمو أو التقليص وفقًا لمحتواها.
افتراضيًا، يقوم Aspose.Words بإدراج جدول جديد باستخدام احتواء تلقائي للنافذة. سيتم تحديد حجم الجدول وفقًا لعرض الصفحة المتاح. لتغيير حجم جدول، يمكنك استدعاء الأسلوب AutoFit. تقبل هذه الطريقة تعداد AutoFitBehavior الذي يحدد نوع الاحتواء التلقائي الذي سيتم تطبيقه على الجدول.
من المهم أن تعرف أن طريقة الاحتواء التلقائي هي في الواقع اختصار يطبق خصائص مختلفة على الجدول في نفس الوقت. هذه هي الخصائص التي تعطي الجدول بالفعل السلوك المرصود. سنناقش هذه الخصائص لكل خيار من خيارات الاحتواء التلقائي.
يوضح مثال التعليمات البرمجية التالي كيفية تعيين جدول لتقليص كل خلية أو تكبيرها وفقًا لمحتوياتها:
الاحتواء التلقائي للجدول في النافذة
عند تطبيق الاحتواء التلقائي لنافذة على جدول، يتم تنفيذ العمليات التالية فعليًا خلف الكواليس:
- يتم تمكين خاصية Table.AllowAutoFit لتغيير حجم الأعمدة تلقائيًا لتناسب المحتوى المتاح، باستخدام قيمة Table.PreferredWidth بنسبة 100%
- تتم إزالة CellFormat.PreferredWidth من كافة خلايا الجدول
لاحظ أن هذا يختلف قليلاً عن سلوك Microsoft Word، حيث يتم تعيين العرض المفضل لكل خلية على القيم المناسبة بناءً على حجمها ومحتواها الحاليين. لا يقوم Aspose.Words بتحديث العرض المفضل لذا يتم مسحه بدلاً من ذلك.
- تتم إعادة حساب عرض الأعمدة لمحتوى الجدول الحالي - والنتيجة النهائية هي جدول يشغل العرض المتاح بالكامل
- يتغير عرض الأعمدة في الجدول تلقائيًا عندما يقوم المستخدم بتحرير النص
يوضح مثال التعليمات البرمجية التالي كيفية ملاءمة الجدول تلقائيًا لعرض الصفحة:
الاحتواء التلقائي للجدول مع المحتوى
عندما يتم ضبط محتوى الجدول تلقائيًا، يتم تنفيذ الخطوات التالية فعليًا خلف الكواليس:
-
يتم تمكين خاصية Table.AllowAutoFit لتغيير حجم كل خلية تلقائيًا وفقًا لمحتواها
-
تتم إزالة عرض الجدول المفضل من Table.PreferredWidth، ويتم إزالة CellFormat.PreferredWidth لكل خلية في الجدول
لاحظ أن خيار الاحتواء التلقائي هذا يزيل العرض المفضل من الخلايا، تمامًا كما هو الحال في Microsoft Word. إذا كنت تريد الاحتفاظ بأحجام الأعمدة وزيادة الأعمدة أو تقليلها لتناسب المحتوى، فيجب عليك تعيين خاصية Table.AllowAutoFit إلى True بمفردها بدلاً من استخدام اختصار الاحتواء التلقائي. -
تتم إعادة حساب عرض الأعمدة لمحتوى الجدول الحالي - والنتيجة النهائية هي جدول حيث يتم تغيير حجم عرض الأعمدة وعرض الجدول بأكمله تلقائيًا ليناسب المحتوى بشكل أفضل عندما يقوم المستخدم بتحرير النص
يوضح مثال التعليمات البرمجية التالي كيفية ملاءمة الجدول تلقائيًا لمحتواه:
قم بتعطيل الاحتواء التلقائي في الجدول واستخدم عروض الأعمدة الثابتة
إذا تم تعطيل الاحتواء التلقائي للجدول وتم استخدام عرض الأعمدة الثابتة بدلاً من ذلك، فسيتم تنفيذ الخطوات التالية:
-
تم تعطيل خاصية Table.AllowAutoFit بحيث لا تنمو الأعمدة أو تتقلص إلى محتواها
-
تتم إزالة العرض المفضل للجدول بأكمله من Table.PreferredWidth، وتتم إزالة CellFormat.PreferredWidth من جميع خلايا الجدول
-
النتيجة النهائية هي جدول يتم تحديد عرض أعمدته بواسطة خاصية 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.
يمكن رؤية مثال لكيفية تطبيق هذه الخيارات على جدول حقيقي في المستند في الصورة أدناه.
يوضح مثال التعليمات البرمجية التالي كيفية تعيين التباعد بين الخلايا:
تطبيق الحدود والتظليل
يمكن تطبيق الحدود والتظليل إما على الجدول بأكمله باستخدام Table.SetBorder وTable.SetBorders وTable.SetShading، أو على خلايا محددة فقط باستخدام CellFormat.Borders وCellFormat.Shading. بالإضافة إلى ذلك، يمكن تعيين حدود الصفوف باستخدام RowFormat.Borders، ولكن لا يمكن تطبيق التظليل بهذه الطريقة.
توضح الصور أدناه إعدادات الحدود والظل في Microsoft Word والخصائص المقابلة لها في Aspose.Words.
يوضح مثال التعليمات البرمجية التالي كيفية تنسيق جدول وخلية بحدود وظلال مختلفة: