الحدود والتظليل
الحدود والتظليل
تنسيق الحدود والتظليل في Aspose.Words FOSS لـ .NET يتم نمذجته بواسطة فئتين مرتبطتين من السمات: Border، التي تصف خط حد واحد، وShading، التي تصف نمط تعبئة الخلفية. الفقرات والجداول والخلايا والخطوط كل منها يعرّض BorderCollection (أوجه متعددة من Border) وكائن Shading واحد عبر خصائص التنسيق الخاصة بها.
العمل مع الحدود الفردية
كائن Border يمثل خط حد واحد ويعرّض LineStyle (قيمة تعداد من LineStyle، مثل Single، Double، Dot أو Wave)، LineWidth، Color، DistanceFromText، Shadow، وخصائص ThemeColor/TintAndShade المتوافقة مع السمة. استدعِ ClearFormatting() على Border لإعادته إلى الحالة الافتراضية (بدون حد).
BorderCollection يجمع عدة كائنات Border لجوانب الكائن. يوفّر خصائص مسماة للأربع حواف — Left، Right، Top، Bottom — بالإضافة إلى Horizontal وVertical لحدود الجداول الداخلية. المؤشر BorderCollection يسترجع جانبًا معينًا باستخدام قيمة تعداد BorderType (Left، Right، Top، Bottom، Horizontal، Vertical، DiagonalDown، DiagonalUp أو None) كمفتاح. ضبط LineWidth أو LineStyle أو Color مباشرةً على المجموعة يطبق تلك القيمة على كل حد يحتويه مرةً واحدة؛ ClearFormatting() يمسح جميع الحدود في المجموعة معًا.
تطبيق التظليل
Shading يحمل نمط الخلفية لكائن: BackgroundPatternColor وForegroundPatternColor يحددان اللونين للنمط، وTexture (قيمة تعداد TextureIndex) تختار النمط — التعبئات الصلبة تستخدم TextureIndex.TextureSolid، بينما الأنماط النسبية والاتجاهية (Texture10Percent إلى Texture97Pt5Percent، TextureHorizontal، TextureDiagonalCross وغيرها) تعيد إنتاج معرض التظليل في Word. ForegroundPatternThemeColor وBackgroundPatternThemeColor توفران ما يعادل ألوان السمة، إلى جانب تعديل الصبغ/الظل عبر ForegroundTintAndShade وBackgroundTintAndShade. ClearFormatting() يعيد كائن Shading إلى عدم وجود تعبئة.
نصائح وأفضل الممارسات
- قم بتعيين
TextureإلىTextureIndex.TextureSolidواستخدمBackgroundPatternColorلتعبئة خلفية بسيطة — أكثر حالات التظليل شيوعًا. - استخدم فهرس
BorderCollection(borders[BorderType.Horizontal]/borders[BorderType.Vertical]) للوصول إلى خطوط الشبكة الداخلية للجدول، والتي لا تُعرض كخصائص مسماة. - ضبط الخصائص مباشرةً على
BorderCollection(بدلاً من علىLeft/Right/Top/BottomBorderالفردية) هو أسرع طريقة لتطبيق حدود موحدة على جميع الجوانب. - تذكر أن
LineStyle.Noneيزيل الخط المرئي دون مسح باقي عرض أو لون الحدود المُعدّ — استخدمClearFormatting()لإعادة ضبط كاملة. - حدود خلايا الجدول والفقرات هي حالات
BorderCollectionمستقلة؛ ضبط أحدها لا يؤثر على الآخر.
مشكلات شائعة
| المشكلة | السبب | الإصلاح |
|---|---|---|
الحد غير مرئي بعد تعيين Color | LineStyle ترك عند LineStyle.None | قم بتعيين LineStyle إلى نمط مرئي مثل Single قبل الحفظ |
| يظهر التظليل كملء صلب عندما كان من المتوقع نمطًا | Texture ترك على الإعداد الافتراضي | قم بتعيين Texture صراحةً إلى ثابت النمط المطلوب |
| حدود الجداول الداخلية لا تتأثر بتغييرات حدود الحافة | Horizontal/Vertical منفصلان عن Left/Right/Top/Bottom | قم بتعيين BorderCollection.Horizontal و .Vertical صراحةً |
فهرس BorderCollection يُعيد حدًا غير متوقع | تم تمرير قيمة BorderType خاطئة | تأكد من أن قيمة enum BorderType تطابق الجانب المقصود |
FAQ
كيف يمكنني تطبيق نفس الحد على جميع الجوانب الأربعة لخلية الجدول؟
قم بتعيين LineStyle وLineWidth وColor مباشرةً على BorderCollection للخلية بدلاً من كل من Left وRight وTop وBottom بشكل منفصل — تُطبق الضوابط على مستوى المجموعة على كل حد يحتويه.
ما الفرق بين Border وShading؟
Border يصف خطًا (النمط، العرض، اللون) يُرسم على طول حافة؛ Shading يصف نمط تعبئة خلفية خلف المحتوى. هما مستقلان — يمكن للعنصر أن يكون له تظليل بدون حدود، أو حدود بدون تظليل.
أي تعداد يتحكم في نمط الخط البصري للحد؟
LineStyle، مع قيم مثل Single وDouble وDot وDashSmallGap وWave.
هل يمكنني إزالة الحد بالكامل؟
نعم — استدعِ ClearFormatting() على Border أو BorderCollection، أو اضبط LineStyle على LineStyle.None.
API Reference ملخص
| فئة / طريقة | وصف |
|---|---|
Border | خط حد واحد: النمط، العرض، اللون، الظل |
BorderCollection | مجموعة الحدود (Left, Right, Top, Bottom, Horizontal, Vertical) لكائن |
BorderType | Enum يحدد جانب الحد |
LineStyle | Enum لأنماط الخط البصري (Single, Double, Dot, إلخ) |
Shading | ملء نمط الخلفية: الألوان وTexture |
TextureIndex | تعداد أنماط قوام التظليل |