सेक्शन के साथ काम करना

सेक्शन के साथ काम करना

सेक्शन के साथ काम करना

एक Word दस्तावेज़ को एक या अधिक अनुभागों में विभाजित किया जाता है, प्रत्येक का अपना पृष्ठ सेटअप, मार्जिन, हेडर और फुटर होता है। Aspose.Words FOSS .NET के लिए एक अनुभाग को इस प्रकार प्रस्तुत करता है Section नोड, जिसमें एक Body और, वैकल्पिक रूप से, हेडर और फुटर, साथ ही एक PageSetup जो इसके लेआउट को नियंत्रित करता है। यह पृष्ठ सेक्शन ऑब्जेक्ट मॉडल, पृष्ठ सेटअप, हेडर और फुटर, तथा बहु-स्तंभ पाठ लेआउट को कवर करता है।


सेक्शन ऑब्जेक्ट मॉडल

Document.Sections एक SectionCollection लौटाता है – दस्तावेज़ में प्रत्येक Section, प्रत्येक एक CompositeNode और नोड ट्री का हिस्सा। एक Section में एक Body होता है (एक Story जो सेक्शन के मुख्य पैराग्राफ और तालिकाएँ रखता है) और, यदि मौजूद हो, तो HeaderFooter नोड्स जो Section.HeadersFooters के माध्यम से पहुंच योग्य होते हैं, एक HeaderFooterCollection। Document.FirstSection और Document.LastSection सीमा सेक्शनों तक सीधी पहुँच प्रदान करते हैं। Section.AppendContent(), PrependContent(), और ClearContent() सेक्शन की बॉडी सामग्री को बड़े पैमाने पर संशोधित करते हैं, जबकि ClearHeadersFooters() और DeleteHeaderFooterShapes() हेडर/फूटर सामग्री को साफ़ करते हैं।


सेक्शन और सेक्शन ब्रेक बनाना

DocumentBuilder.InsertBreak(BreakType) कर्सर पर एक ब्रेक डालता है; BreakType में SectionBreakNewPage, SectionBreakContinuous, SectionBreakNewColumn, SectionBreakEvenPage, और SectionBreakOddPage शामिल हैं जो एक नया सेक्शन शुरू करने के लिए हैं, साथ ही गैर-सेक्शन मान PageBreak, ColumnBreak, LineBreak, और ParagraphBreak। DocumentBuilder.MoveToSection() कर्सर को किसी विशिष्ट सेक्शन की बॉडी की शुरुआत में ले जाता है। PageSetup.SectionStart मौजूदा सेक्शन पर दर्ज SectionStart ब्रेक प्रकार को पढ़ता या सेट करता है।


पेज सेटअप

Section.PageSetup एक PageSetup इंस्टेंस है जो पृष्ठ आयाम और मार्जिन (PageWidth, PageHeight, TopMargin, BottomMargin, LeftMargin, RightMargin, Gutter), Orientation और PaperSize, तथा प्रत्येक पक्ष के पृष्ठ बॉर्डर (Borders, BorderAppliesTo के माध्यम से PageBorderAppliesTo, BorderDistanceFrom के माध्यम से PageBorderDistanceFrom, BorderAlwaysInFront, BorderSurroundsHeader, BorderSurroundsFooter) को कवर करता है। लाइन-नंबरिंग को LineNumberRestartMode, LineNumberCountBy, LineNumberDistanceFromText, और LineStartingNumber द्वारा नियंत्रित किया जाता है। PageSetup.ClearFormatting() इसे डिफ़ॉल्ट पर रीसेट कर देता है।


हेडर और फुटर

Section.HeadersFooters एक HeaderFooterCollection है जिसमें टाइप्ड एक्सेसर हैं – HeaderPrimary, HeaderFirst, HeaderEven, FooterPrimary, FooterFirst, FooterEven – साथ ही GetByHeaderFooterType(), Add(), और LinkToPrevious()। प्रत्येक HeaderFooter एक Story है (जैसे Body) जिसे उसके HeaderFooterType द्वारा पहचाना जाता है और जो IsHeader / IsLinkedToPrevious के रूप में चिह्नित है। PageSetup.DifferentFirstPageHeaderFooter और PageSetup.OddAndEvenPagesHeaderFooter यह नियंत्रित करते हैं कि Word को पहले पृष्ठ और सम पृष्ठ हेडर/फुटर वैरिएंट्स का उपयोग करना चाहिए या नहीं।


एकाधिक टेक्स्ट कॉलम

PageSetup.TextColumns एक TextColumnCollection लौटाता है (Count, EvenlySpaced, LineBetween, Spacing, Width) जिसमें SetCount() होता है जिससे सेक्शन के बॉडी को कई कॉलम में व्यवस्थित किया जा सके। व्यक्तिगत कॉलम TextColumn इंस्टेंस होते हैं (Width, SpaceAfter) जब संग्रह में एक से अधिक कॉलम हो जाएँ।


टिप्स और सर्वश्रेष्ठ प्रथाएँ

  • एक सेक्शन ब्रेक उस सेक्शन के लिए फ़ॉर्मेटिंग ले जाता है जो follows यह – सेटिंग PageSetup एक पर गुण Section आपने अभी बनाया (के बाद InsertBreak) ब्रेक के बाद आने वाली सामग्री को प्रभावित करता है, पहले वाली को नहीं।
  • जब आपको केवल पेज-सेटअप परिवर्तन की आवश्यकता हो (उदाहरण के लिए, मल्टी-कॉलम टेक्स्ट में बदलना) और नया पेज शुरू नहीं करना हो, तो SectionBreakContinuous का उपयोग करें; जब नया सेक्शन हमेशा एक नई पेज से शुरू होना चाहिए, तो SectionBreakNewPage का उपयोग करें।
  • HeaderFooterCollection.LinkToPrevious() एक सेक्शन के हेडर/फूटर को पुनः कनेक्ट करता है ताकि वह पिछले सेक्शन की सामग्री को विरासत में ले सके – नया हेडर/फूटर सामग्री लिखने से पहले यह करें यदि आप चाहते हैं कि नया सेक्शन पिछले से स्वतंत्र रूप से शुरू हो।
  • PageSetup.DifferentFirstPageHeaderFooter और OddAndEvenPagesHeaderFooter केवल तब प्रभावी होते हैं जब संबंधित HeaderFooterType वैरिएंट्स (HeaderFirst, HeaderEven, आदि) वास्तव में Section.HeadersFooters में मौजूद हों – फ़्लैग को सक्षम करें और संबंधित हेडर/फूटर को साथ में जोड़ें।
  • Section.Body और प्रत्येक HeaderFooter अलग-अलग Story इंस्टेंस हैं – Range.Fields, बुकमार्क, और सेक्शन के Body पर अन्य रेंज-स्कोप्ड ऑपरेशन्स स्वचालित रूप से उसके हेडर और फूटर तक नहीं पहुँचते।

आम समस्याएँ

समस्याकारणसमाधान
नए सेक्शन का पेज सेटअप मेरे सेट किए गए अनुसार नहीं हैPageSetup को गलत Section इंस्टेंस पर सेट किया गया थासेट PageSetup उस सेक्शन पर जहाँ follows विराम, पहले वाला नहीं
पिछले अनुभाग की हेडर/फूटर सामग्री अप्रत्याशित रूप से नए अनुभाग में दिखाई देती हैनए सेक्शन के हेडर/फ़ूटर अभी भी पिछले सेक्शन से जुड़े हुए हैंHeaderFooterCollection.LinkToPrevious(false) को कॉल करें (या अलग हेडर/फ़ूटर सामग्री जोड़ें) ताकि उन्हें अनलिंक किया जा सके
पहले पृष्ठ या सम पृष्ठ का हेडर/फ़ूटर अनदेखा किया जाता हैDifferentFirstPageHeaderFooter / OddAndEvenPagesHeaderFooter false है, या मिलते-जुलते HeaderFooterType वेरिएंट मौजूद नहीं हैPageSetup पर फ़्लैग सेट करें और सुनिश्चित करें कि संबंधित हेडर/फ़ूटर वेरिएंट मौजूद है
मल्टी-कलम लेआउट लागू नहीं होताTextColumns.SetCount() को 1 की गिनती के साथ कॉल किया गया, या गलत सेक्शन के PageSetup परटार्गेट सेक्शन के PageSetup.TextColumns पर एक से अधिक कॉलम के साथ SetCount() को कॉल करें

FAQ

नई पेज शुरू किए बिना नया सेक्शन कैसे शुरू करूँ?

SectionBreakContinuous ब्रेक को DocumentBuilder.InsertBreak(BreakType.SectionBreakContinuous) के साथ डालें।

मैं एक सेक्शन को उसके अपने मार्जिन और अभिविन्यास कैसे दूँ?

एक सेक्शन ब्रेक डालें, फिर नई सेक्शन के PageSetup – TopMargin, BottomMargin, LeftMargin, RightMargin, Orientation, और PaperSize पर गुण सेट करें।

मैं सेक्शन के पहले पृष्ठ पर अलग हेडर कैसे सेट करूँ?

उस सेक्शन पर PageSetup.DifferentFirstPageHeaderFooter = true सेट करें, और उसके HeadersFooters संग्रह में प्रकार HeaderFirst का HeaderFooter (और आवश्यकता होने पर FooterFirst) जोड़ें।

मैं सेक्शन के बॉडी टेक्स्ट को दो कॉलम में कैसे व्यवस्थित करूँ?

सेक्शन पर PageSetup.TextColumns.SetCount(2) कॉल करें, फिर आवश्यकतानुसार Spacing और EvenlySpaced / व्यक्तिगत TextColumn.Width मानों को समायोजित करें।


API Reference सारांश

क्लास / एनमविवरण
Sectionएक सेक्शन नोड; Body, HeadersFooters, PageSetup
SectionCollectionदस्तावेज़ में प्रत्येक Section, Document.Sections के माध्यम से
Body / Storyसेक्शन (Body) या हेडर/फ़ूटर (HeaderFooter) के लिए मुख्य सामग्री कंटेनर
PageSetupसेक्शन के लिए पृष्ठ आयाम, मार्जिन, अभिविन्यास, बॉर्डर और कॉलम
HeaderFooter / HeaderFooterCollectionसेक्शन के लिए हेडर/फ़ूटर सामग्री और टाइप्ड एक्सेसर्स
HeaderFooterTypeपहचानता है कि HeaderFooter कौन सा हेडर/फ़ूटर वैरिएंट (primary, first, even) है
TextColumn / TextColumnCollectionसेक्शन के लिए बहु-स्तंभ पाठ लेआउट
PaperSize / Orientation / Marginsपृष्ठ आकार, अभिविन्यास, और पूर्वनिर्धारित मार्जिन मान
PageBorderAppliesTo / PageBorderDistanceFromपेज बॉर्डर किस पृष्ठों पर प्रिंट होता है, और उसका संदर्भ किनारा
SectionStart / BreakTypeसेक्शन पर रिकॉर्ड किया गया सेक्शन-ब्रेक प्रकार, और ब्रेक प्रकार DocumentBuilder.InsertBreak() स्वीकार करता है
LineNumberRestartModeजब स्वचालित पंक्ति क्रमांकन एक अनुभाग के भीतर पुनः शुरू होता है

यह भी देखें

 हिन्दी