تطبيق التنسيق
يمكن تطبيق كل عنصر من عناصر الجدول بتنسيق مختلف. على سبيل المثال، سيتم تطبيق تنسيق الجدول على الجدول بأكمله، وتنسيق الصف على صفوف معينة فقط، وتنسيق الخلية على خلايا معينة فقط.
Aspose.Words يوفر الغنية API لاسترداد وتطبيق التنسيق إلى جدول. يمكنك استخدام العقد Table و RowFormat و CellFormat لتعيين التنسيق.
في هذه المقالة، سنتحدث عن كيفية تطبيق التنسيق على عقد جدول مختلفة وما هي إعدادات تنسيق الجدول Aspose.Words التي تدعمها.
تطبيق التنسيق على عقد مختلفة
في هذا القسم، سننظر في تطبيق التنسيق على عقد الجدول المختلفة.
تنسيق مستوى الجدول
لتطبيق التنسيق على جدول، يمكنك استخدام الخصائص المتوفرة في العقدة Table المقابلة باستخدام الفئات Table و PreferredWidth و TableCollection.
تظهر الصور أدناه تمثيلا لميزات التنسيق Table في Microsoft Word وخصائصها المقابلة في Aspose.Words.
يوضح مثال التعليمات البرمجية التالية كيفية تطبيق حد مخطط تفصيلي على جدول:
يوضح مثال الكود التالي كيفية إنشاء جدول مع تمكين جميع الحدود (الشبكة):
تنسيق مستوى الصف
مستوى الصف
تظهر الصور أدناه تمثيلا لميزات التنسيق 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 لتحديد العرض بالنقاط
تظهر الصور أدناه تمثيلا لـ preferred width setting features في Microsoft Word وخصائصها المقابلة في Aspose.Words.
يمكن رؤية مثال على كيفية تطبيق هذه الخيارات على جدول حقيقي في مستند في الصورة أدناه.
حدد الجدول المفضل أو عرض الخلية
في 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 الذي يحدد نوع الاحتواء التلقائي المطبق على الجدول.
من المهم معرفة أن طريقة الاحتواء التلقائي هي في الواقع اختصار يطبق خصائص مختلفة على الجدول في نفس الوقت. هذه هي الخصائص التي تعطي الجدول في الواقع السلوك المرصود. سنناقش هذه الخصائص لكل خيار احتواء تلقائي.
يوضح مثال الكود التالي كيفية تعيين جدول لتقليص أو نمو كل خلية وفقا لمحتوياتها:
AutoFit الجدول إلى النافذة
عند تطبيق التهيئة التلقائية على نافذة على جدول، يتم تنفيذ العمليات التالية فعليا خلف الكواليس:
- يتم تمكين الخاصية Table.AllowAutoFit لتغيير حجم الأعمدة تلقائيا لتناسب المحتوى المتاح، باستخدام قيمة Table.PreferredWidth 100%
- تتم إزالة CellFormat.PreferredWidth من جميع خلايا الجدول
لاحظ أن هذا يختلف قليلا عن سلوك Microsoft Word، حيث يتم تعيين العرض المفضل لكل خلية على القيم المناسبة بناء على حجمها ومحتواها الحاليين. Aspose.Words لا يقوم بتحديث العرض المفضل حتى يتم مسحه بدلا من ذلك.
- يتم إعادة حساب عرض الأعمدة لمحتوى الجدول الحالي-والنتيجة النهائية هي جدول يشغل العرض المتاح بالكامل
- يتغير عرض الأعمدة في الجدول تلقائيا حيث يقوم المستخدم بتحرير النص
يوضح مثال التعليمات البرمجية التالية كيفية احتواء جدول تلقائيا على عرض الصفحة:
AutoFit الجدول إلى المحتوى
عندما يتم تجهيز الجدول تلقائيا بالمحتوى، يتم تنفيذ الخطوات التالية فعليا خلف الكواليس:
-
يتم تمكين الخاصية Table.AllowAutoFit لتغيير حجم كل خلية تلقائيا وفقا لمحتواها
-
تتم إزالة عرض الجدول المفضل من Table.PreferredWidth، تتم إزالة CellFormat.PreferredWidth لكل خلية جدول
لاحظ أن خيار الاحتواء التلقائي هذا يزيل العرض المفضل من الخلايا، تماما كما هو الحال في Microsoft Word. إذا كنت تريد الاحتفاظ بأحجام الأعمدة وزيادة الأعمدة أو تقليلها لتناسب المحتوى، فيجب عليك تعيين الخاصية Table.AllowAutoFit إلى True بمفردها بدلا من استخدام اختصار الاحتواء التلقائي. -
يتم إعادة حساب عرض الأعمدة لمحتوى الجدول الحالي-والنتيجة النهائية هي جدول حيث يتم تغيير حجم عرض الأعمدة وعرض الجدول بأكمله تلقائيا لتناسب المحتوى بشكل أفضل حيث يقوم المستخدم بتحرير النص
يوضح مثال الكود التالي كيفية ضبط جدول تلقائيا على محتواه:
تعطيل AutoFit في الجدول واستخدام عرض الأعمدة الثابتة
إذا كان الجدول يحتوي على تعطيل تلقائي ويتم استخدام عرض الأعمدة الثابتة بدلا من ذلك، يتم تنفيذ الخطوات التالية:
- Table.AllowAutoFit تم تعطيل الخاصية بحيث لا تنمو الأعمدة أو تتقلص إلى محتواها
- تتم إزالة العرض المفضل للجدول بأكمله من Table.PreferredWidth، تتم إزالة CellFormat.PreferredWidth من جميع خلايا الجدول
- والنتيجة النهائية هي جدول يتم تحديد عرض عموده بواسطة الخاصية CellFormat.Width، ولا يتم تغيير حجم أعمدته تلقائيا عندما يقوم المستخدم بإدخال نص أو عند تغيير حجم الصفحة
يوضح مثال الكود التالي كيفية تعطيل الاحتواء التلقائي وتمكين العرض الثابت للجدول المحدد:
ترتيب الأسبقية عند حساب عرض الخلية
Aspose.Words يسمح للمستخدمين بتحديد عرض جدول أو خلية من خلال كائنات متعددة، بما في ذلك CellFormat – يتم ترك خاصية Width الخاصة بها في الغالب من الإصدارات السابقة، ومع ذلك، فإنها لا تزال مفيدة لتبسيط إعداد عرض الخلية.
من المهم معرفة أن الخاصية CellFormat.Width تعمل بشكل مختلف اعتمادا على خصائص العرض الأخرى الموجودة بالفعل في الجدول.
Aspose.Words يستخدم الترتيب التالي لحساب عرض الخلية:
النظام | الممتلكات | الوصف |
---|---|---|
AllowAutoFit يتم تحديد | إذا تم تمكين AutoFit: - قد ينمو الجدول بعد العرض المفضل لاستيعاب المحتوى-عادة لا يتقلص أقل من العرض المفضل - يتم تجاهل أي تغيير في قيمة CellFormat.Width وسوف تتناسب الخلية مع محتوياتها بدلا من ذلك |
|
PreferredWidthType بقيمة Points أو Percent | CellFormat.Width يتم تجاهلها | |
PreferredWidthType بقيمة Auto | يتم نسخ القيمة من CellFormat.Width وتصبح العرض المفضل للخلية (بالنقاط) |
السماح بالتباعد بين الخلايا
يمكنك الحصول على أو تعيين أي مساحة إضافية بين خلايا الجدول مماثلة لخيار “تباعد الخلايا” في Microsoft Word. يمكن القيام بذلك باستخدام خاصية AllowCellSpacing.
يمكن رؤية مثال على كيفية تطبيق هذه الخيارات على جدول حقيقي في مستند في الصورة أدناه.
يوضح مثال التعليمات البرمجية التالية كيفية تعيين التباعد بين الخلايا:
تطبيق الحدود والتظليل
يمكن تطبيق الحدود والتظليل إما على الجدول بأكمله باستخدام Table.SetBorder و Table.SetBorders و Table.SetShading، أو فقط على خلايا محددة باستخدام CellFormat.Borders و CellFormat.Shading. بالإضافة إلى ذلك، يمكن تعيين حدود الصف باستخدام RowFormat.Borders، ولكن لا يمكن تطبيق التظليل بهذه الطريقة.
تظهر الصور أدناه إعدادات الحدود والظل في Microsoft Word وخصائصها المقابلة في Aspose.Words.
يوضح مثال الكود التالي كيفية تنسيق جدول وخلية بحدود وظلال مختلفة: