.NET में टेक्स्ट के साथ कैसे काम करें

.NET में टेक्स्ट के साथ कैसे काम करें

यह गाइड दिखाता है कि कैसे Aspose.Words FOSS में .NET के लिए टेक्स्ट के साथ काम किया जाए: रन के फ़ॉन्ट को फॉर्मेट करना, पैराग्राफ को फॉर्मेट करना, Range के साथ टेक्स्ट को खोजना और बदलना, टिप्पणी जोड़ना, और पैराग्राफ को सूची आइटम में बदलना। Aspose.Words FOSS .NET के लिए NuGet के माध्यम से या स्रोत से बनाकर उपलब्ध है।

चरण-दर-चरण गाइड

चरण 1: लाइब्रेरी प्राप्त करें

रिपॉज़िटरी को क्लोन करें और बनाएं Aspose.Words.sln रिलीज़ कॉन्फ़िगरेशन में, फिर एक प्रोजेक्ट रेफ़रेंस जोड़ें Aspose.Words.csproj अपने स्वयं के .NET प्रोजेक्ट से, जैसा कि वर्णित है स्थापना गाइड. जोड़ें using Aspose.Words; किसी भी फ़ाइल के शीर्ष पर जो टेक्स्ट के साथ काम करती है।


चरण 2: रन के फ़ॉन्ट को फॉर्मेट करें

Run एक टेक्स्ट का वह भाग है जो एक ही फॉर्मेटिंग सेट साझा करता है; इसकी Text प्रॉपर्टी साधारण-टेक्स्ट सामग्री रखती है और इसकी Font प्रॉपर्टी (एक Font ऑब्जेक्ट) कैरेक्टर-लेवल फॉर्मेटिंग रखती है — Name, Size, Bold, Italic, Underline, Color, HighlightColor, Subscript/Superscript, और StrikeThrough आदि। Font.ClearFormatting() रन को डिफॉल्ट पर रीसेट करता है। पैराग्राफ के रन उसके Runs प्रॉपर्टी के माध्यम से उपलब्ध होते हैं, जो एक RunCollection है। नया टेक्स्ट लिखने से पहले DocumentBuilder.Font पर फ़ॉन्ट प्रॉपर्टीज़ सेट करना आमतौर पर व्यक्तिगत Run ऑब्जेक्ट्स को बाद में फॉर्मेट करने से सरल होता है।


चरण 3: एक अनुच्छेद को स्वरूपित करें

Paragraph.ParagraphFormat (एक ParagraphFormat ऑब्जेक्ट) पैराग्राफ-स्तर के लेआउट को नियंत्रित करता है: Alignment, इंडेंट्स (LeftIndent, RightIndent, FirstLineIndent), स्पेसिंग (SpaceBefore, SpaceAfter, LineSpacing, LineSpacingRule), और पेजिनेशन व्यवहार (KeepTogether, KeepWithNext, PageBreakBefore, WidowControl)। ParagraphFormat.ClearFormatting() इन्हें डिफ़ॉल्ट पर रीसेट करता है, और Paragraph.JoinRunsWithSameFormatting() समान फ़ॉर्मेटिंग वाले सटे हुए रन को मिलाता है — यह तब उपयोगी होता है जब प्रोग्रामेटिक संपादनों की श्रृंखला के बाद पैराग्राफ में आवश्यक से अधिक रन रह जाते हैं।


चरण 4: रेंज के साथ टेक्स्ट खोजें और बदलें

हर कंटेंट-धारक नोड — एक Document, Section, Paragraph, या Run — एक Range को उजागर करता है। Range.Text उस रेंज के भीतर सब कुछ का सादा टेक्स्ट लौटाता है, और Range.Replace(pattern, replacement) केवल उसी रेंज के लिए स्कोप्ड खोज-और-बदलाव करता है: इसे एक Paragraph के Range पर कॉल करें ताकि केवल एक पैराग्राफ में टेक्स्ट बदला जा सके, या Document.Range पर पूरे दस्तावेज़ को खोजने के लिए। Range.Delete() रेंज की सामग्री को पूरी तरह हटा देता है।


चरण 5: टिप्पणी जोड़ें

Comment को new Comment(doc, author, initial, dateTime) के साथ बनाएं, उसका टेक्स्ट SetText(text) से सेट करें, फिर इसे किसी अन्य नोड की तरह ट्री में डालें। Comment.AddReply(author, initial, dateTime, text) एक थ्रेडेड रिप्लाई जोड़ता है — जो स्वयं एक Comment है — और RemoveReply(reply) / RemoveAllReplies() रिप्लाई को वापस ले लेते हैं। दस्तावेज़ की टिप्पणियाँ एक CommentCollection में इकट्ठा की जाती हैं।


चरण 6: पैराग्राफ को सूची आइटम में बदलें

Paragraph.ListFormat (एक ListFormat ऑब्जेक्ट) यह रिपोर्ट करता है और नियंत्रित करता है कि पैराग्राफ सूची में भाग लेता है या नहीं: IsListItem और ListLevelNumber उसकी वर्तमान स्थिति की रिपोर्ट करते हैं। ApplyBulletDefault() पैराग्राफ को डिफ़ॉल्ट बुलेटेड आइटम में बदलता है और ApplyNumberDefault() को डिफ़ॉल्ट क्रमांकित आइटम में; ListIndent() / ListOutdent() उसकी नेस्टिंग लेवल बदलते हैं, और RemoveNumbers() इसे फिर से साधारण पैराग्राफ में बदल देता है।

सामान्य समस्याएँ और समाधान

फ़ॉर्मेटिंग एक Run’s फ़ॉन्ट आस-पास के टेक्स्ट को नहीं बदलता। सन्निहित पाठ अलग है Run अपनी खुद की Font इंस्टेंस। या प्रत्येक प्रभावित को खोजें और स्वरूपित करें Run, या फ़ॉर्मेटिंग सेट करें DocumentBuilder.Font नया पाठ लिखने से पहले।

Range.Replace इच्छित क्षेत्र के बाहर का पाठ बदलता है। Replace पर कॉल किया गया था Document.Range एक संकीर्ण नोड की सीमा के बजाय। इसे विशिष्ट पर कॉल करें Paragraph or Section जिसका पाठ बदलना चाहिए।

एक पैराग्राफ बुलेटेड सूची आइटम जैसा दिखता है लेकिन IsListItem is false. बुलेट टाइप किया गया टेक्स्ट है, वास्तविक सूची स्वरूपण नहीं है। इसे इस के साथ लागू करें ListFormat.ApplyBulletDefault() इसके बजाय।

दस्तावेज़ अंत में बहुत अधिक Run नोड्स अपेक्षित से अधिक। बार-बार छोटे प्रोग्रामेटिक संपादन रन को विभाजित करते हैं बिना उन्हें पुनः जोड़ने के। कॉल Paragraph.JoinRunsWithSameFormatting() संपादनों के एक बैच के बाद।

अक्सर पूछे जाने वाले प्रश्न

Run और Paragraph में क्या अंतर है?

एक Run वह पाठ का भाग है जो एक ही सेट के अक्षर स्वरूपण (Font) को साझा करता है। एक Paragraph वह संयुक्त नोड है जिसमें एक या अधिक रन और पैराग्राफ-स्तर का स्वरूपण (ParagraphFormat) शामिल होता है।

मैं दस्तावेज़ या एकल अनुभाग में सभी पाठ को कैसे पढ़ूँ?

उस नोड के Range की Text प्रॉपर्टी पढ़ें — document.Range.Text या section.Range.Text।

पूरे दस्तावेज़ के बजाय केवल एक पैराग्राफ के भीतर टेक्स्ट को कैसे बदलूँ?

उस Paragraph के Range पर Replace(pattern, replacement) कॉल करें, Document.Range पर नहीं।

मैं मौजूदा टिप्पणी का जवाब कैसे दूँ?

मूल Comment उदाहरण पर Comment.AddReply(author, initial, dateTime, text) कॉल करें।

संख्यांकित सूची आइटम को फिर से साधारण पैराग्राफ में कैसे बदलूँ?

उस पैराग्राफ के ListFormat पर RemoveNumbers() को कॉल करें।

यह भी देखें

 हिन्दी