शैलियों के साथ काम करना

शैलियों के साथ काम करना

स्टाइल्स के साथ काम करना

यह गाइड दिखाता है कि पैराग्राफ, कैरेक्टर, टेबल और लिस्ट स्टाइल्स के साथ कैसे काम किया जाए Aspose.Words FOSS .NET के लिए — बिल्ट-इन और कस्टम स्टाइल्स को खोजने और लागू करने, तथा टेबल स्टाइल्स पर प्रति-क्षेत्र शर्तीय फ़ॉर्मेटिंग को कॉन्फ़िगर करने के लिए।

एक Style ऑब्जेक्ट एकल बिल्ट-इन या उपयोगकर्ता-परिभाषित स्टाइल का प्रतिनिधित्व करता है — पैराग्राफ, फ़ॉन्ट और लिस्ट फॉर्मेटिंग का नामित संग्रह जिसे वर्ड तब लागू करता है जब किसी पैराग्राफ या रन को वह स्टाइल सौंपा जाता है। प्रत्येक दस्तावेज़ अपनी स्टाइल्स को Document.Styles प्रॉपर्टी के माध्यम से उजागर करता है, जो एक StyleCollection लौटाती है। टेबल स्टाइल्स को TableStyle द्वारा दर्शाया जाता है, जो Style की एक सबक्लास है और टेबल-विशिष्ट फॉर्मेटिंग तथा ConditionalStyleCollection के माध्यम से क्षेत्र-विशिष्ट कंडीशनल फॉर्मेटिंग जोड़ती है।


स्टाइल प्रकार और पहचान

प्रत्येक Style में Type प्रॉपर्टी होती है जिसका प्रकार StyleType है, जो Paragraph, Character, Table या List में से एक है — जो वर्ड द्वारा समर्थित चार प्रकार की स्टाइल्स से मेल खाता है। बिल्ट-इन स्टाइल्स additionally एक locale-independent StyleIdentifier enum मान भी रखती हैं (उदाहरण के लिए हेडिंग्स, इम्पैसिस, और हाइपरलिंक स्टाइल्स से संबंधित मान) ताकि कोड किसी विशेष भाषा में उसके डिस्प्ले नाम पर निर्भर हुए बिना बिल्ट-इन स्टाइल को खोज सके। किसी स्टाइल का मानव-पठनीय नाम Style.Name के माध्यम से उपलब्ध है, और Style.Aliases वही स्टाइल के लिए वर्ड द्वारा पहचाने गए किसी भी वैकल्पिक नाम को लौटाता है। Style.BuiltIn बताता है कि स्टाइल वर्ड के साथ स्वयं आती है या दस्तावेज़ में परिभाषित है, और Style.IsHeading बताता है कि स्टाइल बिल्ट-इन हेडिंग स्टाइल्स में से एक है।

स्टाइल संग्रह तक पहुंचना और उसे प्रबंधित करना

StyleCollection सभी Style ऑब्जेक्ट्स — बिल्ट-इन और कस्टम — का संग्रह है जो किसी दस्तावेज़ से जुड़ा होता है, और इसे Document.Styles के माध्यम से पहुंचा जाता है। StyleCollection इंडेक्सर — styles[name] — का उपयोग करके किसी स्टाइल को उसके डिस्प्ले नाम से प्राप्त करें — या उसी इंडेक्सर — styles[sti] — का उपयोग करके उसके locale-independent StyleIdentifier से बिल्ट-इन स्टाइल प्राप्त करें — जो विभिन्न भाषाओं में लिखे दस्तावेज़ों में नाम खोज की तुलना में अधिक विश्वसनीय है। नई स्टाइल्स StyleCollection.Add(type, name) के साथ बनाई जाती हैं, जहाँ StyleType और एक नाम निर्दिष्ट किया जाता है, और मौजूदा स्टाइल को StyleCollection.AddCopy(style) के साथ संग्रह में डुप्लिकेट किया जा सकता है। StyleCollection.Count दर्शाता है कि दस्तावेज़ में कितनी स्टाइल्स मौजूद हैं, और संग्रह additionally DefaultFont और DefaultParagraphFormat को उजागर करता है, जो नए कंटेंट के लिए दस्तावेज़-व्यापी डिफ़ॉल्ट फॉर्मेटिंग का वर्णन करता है जो किसी स्पष्ट स्टाइल को लागू करने से पहले विरासत में मिलती है। StyleCollection.ClearQuickStyleGallery() वर्ड UI की क्विक-स्टाइल गैलरी से सभी स्टाइल्स को हटाता है बिना स्वयं स्टाइल्स को डिलीट किए।

पैराग्राफ और रन पर स्टाइल लागू करना

स्टाइल ले सकने वाले फ़ॉर्मेटिंग ऑब्जेक्ट्स दोनों Style प्रॉपर्टी (स्वयं Style ऑब्जेक्ट) और StyleName प्रॉपर्टी (नाम द्वारा स्टाइल को हल करने या बनाने का शॉर्टकट) को उजागर करते हैं। ParagraphFormat.Style और ParagraphFormat.StyleName पैराग्राफ स्टाइल लागू करते हैं, जबकि Font.Style और Font.StyleName रन के फ़ॉर्मेटिंग पर कैरेक्टर स्टाइल लागू करते हैं। एक स्टाइल की अपनी LinkedStyleName, BaseStyleName, और NextParagraphStyleName प्रॉपर्टीज़ यह वर्णन करती हैं कि वह अन्य स्टाइल्स से कैसे जुड़ी है: BaseStyleName वह स्टाइल बताता है जिससे यह अनसेट फ़ॉर्मेटिंग को विरासत में लेता है, LinkedStyleName एक युग्मित पैराग्राफ/कैरेक्टर स्टाइल का नाम बताता है (जैसे Word में बिल्ट-इन स्टाइल्स Heading 1 और उसकी लिंक्ड कैरेक्टर स्टाइल), और NextParagraphStyleName वह स्टाइल नामित करता है जिसे Word नई पैराग्राफ को असाइन करता है जो इस स्टाइल वाले पैराग्राफ के बाद टाइप की जाती है।

टेबल स्टाइल और शर्तीय फॉर्मेटिंग

TableStyle Style को टेबल-लेआउट प्रॉपर्टीज़ जैसे Alignment, CellSpacing, LeftIndent, Shading, VerticalAlignment, और पैडिंग (LeftPadding, RightPadding, TopPadding, BottomPadding) के साथ विस्तारित करता है, साथ ही RowStripe और ColumnStripe, जो नियंत्रित करते हैं कि बैंडिंग पैटर्न कितनी पंक्तियों या कॉलमों पर दोहराता है। समान टेबल फॉर्मेटिंग के अलावा, TableStyle.ConditionalStyles एक ConditionalStyleCollection लौटाता है जिसमें प्रत्येक टेबल क्षेत्र के लिए एक ConditionalStyle होता है — FirstRow, LastRow, FirstColumn, LastColumn, OddRowBanding, EvenRowBanding, OddColumnBanding, EvenColumnBanding, और चार कोने की कोशिकाएँ (TopLeftCell, TopRightCell, BottomLeftCell, BottomRightCell)। प्रत्येक ConditionalStyle अपनी स्वयं की Font, ParagraphFormat, Shading, Borders और सेल पैडिंग रखती है, और उसकी Type प्रॉपर्टी बताती है कि वह कौन सा ConditionalStyleType क्षेत्र दर्शाती है। ConditionalStyle.ClearFormatting() और ConditionalStyleCollection.ClearFormatting() किसी एक क्षेत्र या सभी शर्तीय क्षेत्रों के सेट के लिए फॉर्मेटिंग रीसेट करते हैं।

स्टाइल मेटाडाटा और व्यवहार फ़्लैग्स

Style पर कई बूलियन और न्यूमेरिक प्रॉपर्टीज़ नियंत्रित करती हैं कि Word UI में स्टाइल को कैसे संभालता है, न कि वह कैसे रेंडर करता है: Locked फ़ॉर्मेटिंग प्रोटेक्शन सक्रिय होने पर स्टाइल को बदलने से रोकता है, IsQuickStyle तय करता है कि वह क्विक-स्टाइल गैलरी में दिखाई दे या नहीं, AutomaticallyUpdate स्टाइल को मैन्युअली लागू की गई डायरेक्ट फ़ॉर्मेटिंग से खुद को पुनः परिभाषित करने देता है, SemiHidden और UnhideWhenUsed पहली बार उपयोग से पहले और बाद में स्टाइल सूची में उसकी दृश्यता नियंत्रित करते हैं, और Priority गैलरी में सॉर्ट क्रम को प्रभावित करता है। जब स्टाइल सूची क्रमांकन परिभाषित करता है तो वह List और ListFormat प्रॉपर्टीज़ भी उजागर करता है, और Style.Remove() स्टाइल को उसके StyleCollection से हटा देता है।


टिप्स और सर्वोत्तम प्रैक्टिसेज

  • बिल्ट-इन स्टाइल खोजते समय नाम से लुकअप करने के बजाय StyleCollection इंडेक्सर को StyleIdentifier वैल्यू के साथ उपयोग करना बेहतर है — नाम स्थानीयकृत होते हैं, लेकिन StyleIdentifier वैल्यू नहीं।
  • BaseStyleName को सेट करें ताकि शैली पदानुक्रम बन सकें (उदाहरण के लिए, शीर्षक शैलियों का एक सेट जो सभी एक मूल शैली से फ़ॉन्ट विकल्पों को विरासत में लेते हैं) हर शैली पर फ़ॉर्मेटिंग दोहराने के बजाय।
  • जब दस्तावेज़ों के बीच एक शैली की प्रतिलिपि बनाते हैं, तो हर फ़ॉर्मेटिंग प्रॉपर्टी को मैन्युअल रूप से पढ़ने और पुनः लागू करने के बजाय StyleCollection.AddCopy(style) का उपयोग करें।
  • बैंडेड टेबल के लिए TableStyle.ConditionalStyles क्षेत्रों को कॉन्फ़िगर करें, कोड में वैकल्पिक पंक्तियों को मैन्युअल रूप से फ़ॉर्मेट करने के बजाय — प्रत्येक ConditionalStyle क्षेत्र का फ़ॉर्मेटिंग उसके ConditionalStyleType के आधार पर लागू होता है, न कि व्यक्तिगत पंक्तियों पर सीधे फ़ॉर्मेटिंग सेट करके।
  • स्टाइल को प्रोग्रामेटिकली हटाने या नाम बदलने से पहले Style.BuiltIn की जाँच करें; बिल्ट-इन शैलियों का अक्सर दस्तावेज़ में कहीं न कहीं नाम से संदर्भ लिया जाता है।

सामान्य समस्याएँ

समस्याकारणसमाधान
StyleCollection इंडेक्सर नाम लुकअप के लिए null लौटाता हैइस दस्तावेज़ में स्टाइल नाम मौजूद नहीं है, या कोई बिल्ट-इन स्टाइल अभी तक उपयोग नहीं किया गया है इसलिए Word ने इसे अभी तक उत्पन्न नहीं किया है।वैकल्पिक नामों के लिए Style.Aliases देखें, या अंतर्निहित शैलियों के लिए StyleIdentifier के साथ StyleCollection इंडेक्सर का उपयोग करें।
StyleName सेट करने से अप्रत्याशित रूप से एक नई शैली बन जाती है।StyleName नामित शैली बनाता है यदि वह संग्रह में पहले से मौजूद नहीं है।पहले StyleCollection इंडेक्सर का उपयोग करके पुष्टि करें कि शैली मौजूद है, या Style प्रॉपर्टी के माध्यम से सीधे Style ऑब्जेक्ट असाइन करें।
TableStyle लागू करने के बाद तालिका बैंडिंग दिखाई नहीं देती है।शर्तीय फ़ॉर्मेटिंग क्षेत्रों (OddRowBanding, EvenRowBanding, आदि) को कभी भी TableStyle.ConditionalStyles पर कॉन्फ़िगर नहीं किया गया था।ConditionalStyleCollection में संबंधित ConditionalStyle प्रविष्टियों पर फ़ॉर्मेटिंग सेट करें।
एक शैली परिवर्तन उन सामग्री को प्रभावित नहीं करता जो पहले से ही उस शैली का उपयोग कर रही है।स्टाइल के ऊपर सीधे (मैनुअल) फ़ॉर्मैटिंग लागू किया गया और यह प्राथमिकता लेता हैप्रभावित रन/पैराग्राफ़ पर प्रत्यक्ष स्वरूपण साफ़ करें, या Style.AutomaticallyUpdate सेट करें

FAQ

मैं दस्तावेज़ में सभी शैलियों का संग्रह कैसे प्राप्त करूँ?

Document.Styles पढ़ें, जो एक StyleCollection लौटाता है जिसमें उस दस्तावेज़ में सभी बिल्ट-इन और उपयोगकर्ता-परिभाषित Style शामिल होते हैं।

क्या अंतर है Style और StyleIdentifier के बीच?

Style वास्तविक शैली ऑब्जेक्ट है जिसमें उसका स्वरूपण है; StyleIdentifier एक लोकेल-स्वतंत्र enum मान है जिसका उपयोग किसी विशिष्ट को लुक-अप करने के लिए किया जाता है बिल्ट-इन शैली, दस्तावेज़ की भाषा की परवाह किए बिना, के माध्यम से StyleCollection इंडेक्सर।

टेबल शैलियाँ पैराग्राफ या कैरेक्टर शैलियों से कैसे अलग होती हैं?

TableStyle Style की एक सबक्लास है जो टेबल-लेआउट गुण (Alignment, CellSpacing, padding) और ConditionalStyles संग्रह जोड़ती है, जो बैंडेड रोज़, हेडर रोज़, और कॉर्नर सेल्स जैसे क्षेत्र-विशिष्ट स्वरूपण के लिए होता है — ऐसे स्वरूपण अवधारणाएँ जो पैराग्राफ या कैरेक्टर शैलियों पर लागू नहीं होतीं।

क्या मैं मौजूदा शैली को संशोधित करने के बजाय एक बिल्कुल नई शैली बना सकता हूँ?

हाँ — इच्छित StyleType और नया नाम के साथ StyleCollection.Add(type, name) को कॉल करें ताकि एक खाली शैली बनाई जा सके, फिर उसके स्वरूपण गुण सेट करें (Font, ParagraphFormat, आदि पैराग्राफ/कैरेक्टर शैलियों के लिए)।

मैं शैली की प्रतिलिपि कैसे बनाऊँ, जिसमें किसी अन्य दस्तावेज़ से भी हो?

लक्ष्य संग्रह में उसकी एक कॉपी जोड़ने के लिए StyleCollection.AddCopy(style) का उपयोग करें, एक Style ऑब्जेक्ट पास करके (जो किसी अलग Document के StyleCollection से आ सकता है)।


API Reference सारांश

क्लास/मेथडविवरण
Styleएक एकल अंतर्निर्मित या उपयोगकर्ता-परिभाषित अनुच्छेद, अक्षर, तालिका, या सूची शैली
StyleCollectionएक दस्तावेज़ में सभी शैलियों का संग्रह, जिसे Document.Styles के माध्यम से पहुँचा जाता है
StyleCollection नाम द्वारा अनुक्रमणकर्ताकिसी शैली को उसके प्रदर्शित नाम से देखें, जैसे styles["Heading 1"]
StyleCollection पहचानकर्ता द्वारा अनुक्रमणकर्ताएक अंतर्निर्मित शैली को स्थानीय-स्वतंत्र पहचानकर्ता से देखें, जैसे styles[StyleIdentifier.Heading1]
StyleCollection.Add(type, name)दिए गए StyleType की एक नई, खाली शैली बनाएं
StyleCollection.AddCopy(style)इस संग्रह में मौजूदा शैली को कॉपी करें
StyleTypeEnum जो Paragraph, Character, Table, और List शैलियों को अलग करता है
StyleIdentifierबिल्ट-इन शैली के लिए लोकेल-स्वतंत्र पहचानकर्ता
TableStyleटेबल फ़ॉर्मेटिंग के लिए एक Style उपवर्ग, जिसमें शर्तीय प्रति-क्षेत्र शैली शामिल है
ConditionalStyleCollectionएक TableStyle पर प्रति-क्षेत्र ConditionalStyle प्रविष्टियों का सेट
ConditionalStyleएक तालिका क्षेत्र के लिए स्वरूपण (फ़ॉन्ट, अनुच्छेद स्वरूप, शेडिंग, सीमा, पैडिंग)
ConditionalStyleTypeएक ConditionalStyle किस तालिका क्षेत्र पर लागू होता है, यह पहचानने वाला एनम

यह भी देखें

 हिन्दी