सीमाएँ और शेडिंग
बॉर्डर और शेडिंग
Aspose.Words FOSS में .NET के लिए बॉर्डर और शेडिंग फ़ॉर्मेटिंग दो संबंधित एट्रिब्यूट क्लासों द्वारा मॉडल किया गया है: Border, जो एकल बॉर्डर लाइन का वर्णन करता है, और Shading, जो बैकग्राउंड फ़िल पैटर्न का वर्णन करता है। पैराग्राफ, टेबल, सेल, और फ़ॉन्ट प्रत्येक अपने संबंधित फ़ॉर्मेटिंग प्रॉपर्टीज़ के माध्यम से एक BorderCollection (एकाधिक Border पक्ष) और एकल Shading ऑब्जेक्ट उजागर करते हैं।
व्यक्तिगत बॉर्डर के साथ काम करना
एक Border ऑब्जेक्ट एक बॉर्डर लाइन का प्रतिनिधित्व करता है और LineStyle (एक enum मान LineStyle से, जैसे Single, Double, Dot, या Wave), LineWidth, Color, DistanceFromText, Shadow, और थीम-सचेत ThemeColor/TintAndShade प्रॉपर्टीज़ को उजागर करता है। एक Border पर ClearFormatting() कॉल करके उसे उसके डिफ़ॉल्ट (कोई बॉर्डर नहीं) स्थिति में रीसेट करें।
BorderCollection एक ऑब्जेक्ट की साइड्स के लिए कई Border ऑब्जेक्ट्स को समूहित करता है। यह चार किनारों के लिये नामित प्रॉपर्टीज़ उजागर करता है — Left, Right, Top, Bottom — साथ ही अंदरूनी टेबल बॉर्डर्स के लिये Horizontal और Vertical। BorderCollection इंडेक्सर एक विशिष्ट साइड को BorderType enum मान (Left, Right, Top, Bottom, Horizontal, Vertical, DiagonalDown, DiagonalUp, या None) को कुंजी के रूप में उपयोग करके प्राप्त करता है। संग्रह पर सीधे LineWidth, LineStyle, या Color सेट करने से वह मान सभी बॉर्डर्स पर एक साथ लागू हो जाता है; ClearFormatting() संग्रह में सभी बॉर्डर्स को साथ-साथ साफ़ कर देता है।
शेडिंग लागू करना
Shading एक ऑब्जेक्ट के लिए बैकग्राउंड पैटर्न ले जाता है: BackgroundPatternColor और ForegroundPatternColor दो पैटर्न रंगों को परिभाषित करते हैं, और Texture (एक TextureIndex enum मान) पैटर्न चुनता है — ठोस फ़िल्स 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 मान पास किया गया | पुष्टि करें कि BorderType एनम मान इच्छित पक्ष से मेल खाता है |
FAQ
मैं तालिका सेल की सभी चार किनारों पर समान बॉर्डर कैसे लागू करूँ?
सेट LineStyle, LineWidth, और Color सीधे सेल के BorderCollection पर करें, न कि Left, Right, Top, और Bottom में से प्रत्येक पर अलग-अलग — संग्रह-स्तर के सेटर्स उन सभी बॉर्डर्स पर लागू होते हैं जो इसमें होते हैं।
Border और Shading में क्या अंतर है?
Border किनारे के साथ खींची गई रेखा (शैली, चौड़ाई, रंग) का वर्णन करता है; Shading सामग्री के पीछे की पृष्ठभूमि भराव पैटर्न का वर्णन करता है। ये स्वतंत्र हैं — कोई वस्तु बिना बॉर्डर के शेडिंग रख सकती है, या बिना शेडिंग के बॉर्डर रख सकती है।
कौन सा enum बॉर्डर के दृश्य रेखा पैटर्न को नियंत्रित करता है?
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 | शेडिंग पैटर्न टेक्सचर का Enum |