.NET में Word Links और References के साथ कैसे काम करें

.NET में Word Links और References के साथ कैसे काम करें

यह गाइड दिखाता है कि कैसे हाइपरलिंक्स, बुकमार्क्स के क्रॉस-रेफ़रेंसेज़, प्रॉम्प्टेड-वैल्यू फ़ील्ड और सिटेशन फ़ील्ड को सम्मिलित किया जाए Aspose.Words FOSS के लिए .NET, उपयोग करके FieldHyperlink, FieldRef, FieldPageRef, FieldCitation, और अन्य लिंक तथा रेफ़रेंस Field उपवर्गों में Aspose.Words.Fields नामस्थान। यह एक साधारण हाइपरलिंक सम्मिलित करने, बुकमार्क बनाने और उनका क्रॉस-रेफ़रेंस करने, फ़ील्ड अपडेट के दौरान मानों के लिए प्रॉम्प्ट करने, और ग्रंथसूची स्रोतों का हवाला देने को कवर करता है।

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

चरण 1: पैकेज स्थापित करें

Aspose.Words FOSS for .NET अभी तक NuGet पैकेज प्रकाशित नहीं करता — इसके बजाय स्रोत से लाइब्रेरी बनाएँ। https://github.com/aspose-words-foss/Aspose.Words-FOSS-for-.NET.git को क्लोन करें, फिर .NET SDK के साथ रिलीज़ कॉन्फ़िगरेशन में Aspose.Words.sln बनाएँ और अपने प्रोजेक्ट से उत्पन्न Aspose.Words असेंबली को रेफ़रेंस करें। लाइब्रेरी .NET Standard 2.0 को टार्गेट करती है, इसलिए यह .NET Framework 4.6.2+ और .NET 6/8/10 पर चलती है।


चरण 2: आवश्यक क्लासेस आयात करें

Document और DocumentBuilder के लिए एक using Aspose.Words; निर्देश जोड़ें, तथा FieldHyperlink, FieldRef, FieldPageRef, FieldNoteRef, FieldStyleRef, FieldSet, FieldAsk, FieldFillIn, FieldCitation, FieldBibliography के लिए एक using Aspose.Words.Fields; निर्देश, और इस गाइड में कवर किए गए अन्य फ़ील्ड क्लासेज़।


चरण 3: हाइपरलिंक डालें

एक सरल हाइपरलिंक के लिए, DocumentBuilder.InsertHyperlink(displayText, urlOrBookmark, isBookmark) को कॉल करें – URL लक्ष्य के लिए isBookmark: false पास करें या उसी दस्तावेज़ में एक बुकमार्क से लिंक करने के लिए true। जब शॉर्टकट द्वारा उजागर नहीं किए गए गुणों की आवश्यकता हो तो सीधे FieldHyperlink बनाना चुनें: Address और SubAddress लक्ष्य URL या दस्तावेज़ के भीतर स्थान को रखते हैं, ScreenTip होवर टूलटिप सेट करता है, OpenInNewWindow और IsImageMap प्रदर्शन फ़्लैग हैं, और Target एक ब्राउज़र फ्रेम का नाम देता है।


चरण 4: संदर्भ के लिए बुकमार्क बनाएं

DocumentBuilder.StartBookmark(bookmarkName) को उस सामग्री से पहले कॉल करें जिसे बुकमार्क को कवर करना चाहिए, और DocumentBuilder.EndBookmark(bookmarkName) को उसके बाद, दोनों कॉलों के लिए एक ही नाम उपयोग करते हुए। DocumentBuilder.MoveToBookmark(bookmarkName) कर्सर को पहले से मौजूद बुकमार्क पर ले जाता है — यह बुकमार्क के पास क्रॉस-रेफ़रेंस फ़ील्ड डालने से पहले स्थान पर नेविगेट करने के लिए उपयोगी है।


चरण 5: उस बुकमार्क के लिए क्रॉस-रेफ़रेंस डालें

FieldRef (the REF field), FieldPageRef (PAGEREF), और FieldNoteRef (NOTEREF) प्रत्येक अपने BookmarkName प्रॉपर्टी के माध्यम से नामित बुकमार्क पर सामग्री को हल करते हैं। रेफ़रेंस को क्लिक-योग्य बनाने के लिए InsertHyperlink सेट करें, और संदर्भित पाठ के बजाय सापेक्ष स्थिति (“ऊपर” / “नीचे”) रिपोर्ट करने के लिए InsertRelativePosition सेट करें। FieldRef अतिरिक्त रूप से पैराग्राफ-नंबरिंग विकल्पों का समर्थन करता है — InsertParagraphNumber, InsertParagraphNumberInFullContext, InsertParagraphNumberInRelativeContext, NumberSeparator — और IncludeNoteOrComment। FieldStyleRef (STYLEREF) बुकमार्क के बजाय दिए गए StyleName के साथ स्वरूपित निकटतम पैराग्राफ को हल करता है, जिसमें SearchFromBottom फ़ील्ड की स्थिति से पीछे खोजने के लिए है। FieldSet (SET) एक बुकमार्क्ड टेक्स्ट वैल्यू को परिभाषित करता है — BookmarkName और BookmarkText — जिसे किसी अन्य स्थान पर REF फ़ील्ड द्वारा हल किया जा सकता है।


चरण 6: अद्यतन के दौरान मान के लिए प्रॉम्प्ट करें

FieldAsk (ASK) और FieldFillIn (FILLIN) फ़ील्ड को अपडेट करने वाले व्यक्ति से मान अनुरोध करता है: सेट PromptText उपयोगकर्ता को दिखाए गए पाठ में, DefaultResponse फ़ॉलबैक मान के लिए, और PromptOnceOnMailMerge मेल मर्ज के दौरान बार-बार संकेत देने को सीमित करने के लिए। FieldAsk अतिरिक्त रूप से इसका उत्तर यहाँ संग्रहीत करता है BookmarkName ताकि अन्य फ़ील्ड इसे संदर्भित कर सकें। अनदेखे फ़ील्ड अपडेट्स के लिए, इंटरैक्टिव रूप से संकेत देने के बजाय प्रोग्रामेटिक रूप से उत्तर प्रदान करें; देखें फ़ील्ड गाइड उस कॉलबैक इंटरफ़ेस के लिए जो यह करता है।


चरण 7: बाहरी या लिंक्ड सामग्री का संदर्भ दें

FieldDde (DDE) और FieldDdeAuto (DDEAUTO) ProgId, SourceFullName, और SourceItem के माध्यम से किसी अन्य एप्लिकेशन में सामग्री से लिंक करते हैं, InsertAsText, InsertAsHtml, InsertAsPicture, InsertAsRtf, InsertAsUnicode, और InsertAsBitmap सम्मिलित प्रतिनिधित्व का चयन करने के साथ, और AutoUpdate / IsLinked रिफ्रेश व्यवहार को नियंत्रित करते हैं। FieldLink (LINK) OLE-link के समकक्ष है, जिसमें FormatUpdateType जोड़ता है। FieldImport (IMPORT) और FieldIncludePicture (INCLUDEPICTURE) SourceFullName और GraphicFilter के माध्यम से बाहरी ग्राफिक को खींचते हैं। FieldInclude (INCLUDE) और FieldIncludeText (INCLUDETEXT) बाहरी दस्तावेज़ सामग्री को खींचते हैं, जिसमें BookmarkName शामिल सीमा को स्कोप करने के लिए और LockFields इसे रिफ्रेश होने से रोकने के लिए; FieldIncludeText अतिरिक्त रूप से XML स्रोतों को Encoding, MimeType, NamespaceMappings, XPath, और XslTransformation के माध्यम से समर्थन करता है।


चरण 8: बिल्डिंग ब्लॉक्स और शब्दकोश प्रविष्टियों का संदर्भ दें

FieldAutoText (AUTOTEXT), FieldAutoTextList (AUTOTEXTLIST), और FieldGlossary (GLOSSARY) सभी EntryName के माध्यम से एक नामित बिल्डिंग-ब्लॉक प्रविष्टि का संदर्भ देते हैं; FieldAutoTextList उसके सूची-शैली प्रस्तुति के लिए ListStyle और ScreenTip जोड़ता है।


चरण 9: उद्धरण और ग्रंथसूची फ़ील्ड सम्मिलित करें

FieldCitation (CITATION) और FieldBibliography (BIBLIOGRAPHY) दस्तावेज़ की ग्रंथसूची डेटा से प्राप्त सामग्री को रेंडर करें। सेट FieldCitation.SourceTag (या वैकल्पिक AnotherSourceTag) यह पहचानने के लिए कि यह कौन से स्रोत का उद्धरण देता है, और उपयोग करें Prefix, Suffix, PageNumber, VolumeNumber, और Suppress* फ़्लैग्स (SuppressAuthor, SuppressTitle, SuppressYear) यह नियंत्रित करने के लिए कि उद्धरण कैसे स्वरूपित किया जाता है। FieldBibliography.SourceTag, FilterLanguageId, और FormatLanguageId नियंत्रण करता है कि कौन से स्रोत रेंडर की गई ग्रंथसूची में दिखाई देते हैं और किस भाषा में। ये फ़ील्ड केवल तब सही ढंग से रेंडर होते हैं जब मिलते हैं Source रिकॉर्ड मौजूद हैं – देखें ग्रंथसूची गाइड उनको बनाने के लिए।

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

REF, PAGEREF, या NOTEREF फ़ील्ड त्रुटि परिणाम दिखाता है यह BookmarkName जिस लक्ष्य को यह दर्शाता है वह दस्तावेज़ में मौजूद नहीं है। बुकमार्क बनाइए DocumentBuilder.StartBookmark() / EndBookmark() फ़ील्ड को अपडेट करने से पहले।

ASK या FILLIN फ़ील्ड अनदेखा अपडेट रोकती है किसी उत्तर को प्रोग्रामेटिक रूप से प्रदान करने के लिए कोई कॉलबैक निर्धारित नहीं किया गया है। फ़ील्ड-अपडेट कॉलबैक को असाइन करें जैसा कि फ़ील्ड गाइड, या सेट करें DefaultResponse फ़ील्ड पर ताकि इसका फॉलबैक मान हो।

CITATION या BIBLIOGRAPHY फ़ील्ड खाली प्रदर्शित होता है यह SourceTag किसी भी से मेल नहीं खाता Source दस्तावेज़ की बिब्लियोग्राफी डेटा में। मिलते-जुलते को जोड़ें Source – देखें ग्रंथसूची गाइड.

DDE, DDEAUTO, या LINK फ़ील्ड रिफ्रेश नहीं होता ये फ़ील्ड बाहरी OLE स्रोत को संदर्भित करते हैं जो मूल Windows/OLE संदर्भ के बाहर उपलब्ध नहीं है। ऐसी स्थिति में फ़ील्ड के संग्रहीत परिणाम को अंतिम ज्ञात मान मानें।

InsertHyperlink के साथ सम्मिलित एक हाइपरलिंक में वह गुण अनुपलब्ध है जिसकी मुझे आवश्यकता है DocumentBuilder.InsertHyperlink() एक शॉर्टकट है जो हर चीज़ को उजागर नहीं करता FieldHyperlink गुण। निर्माण करें या प्राप्त करें FieldHyperlink सीधे तौर पर गुण सेट करने के लिए जैसे ScreenTip or IsImageMap.

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

FieldRef और FieldStyleRef में क्या अंतर है?

FieldRef एक नामित बुकमार्क (BookmarkName) पर सामग्री को हल करता है; FieldStyleRef इसके बजाय निकटतम पैराग्राफ को हल करता है जो दिए गए StyleName से स्वरूपित है, बुकमार्क से स्वतंत्र।

मैं फ़ील्ड को हाथ से बनाये बिना एक साधारण हाइपरलिंक कैसे सम्मिलित करूँ?

कॉल DocumentBuilder.InsertHyperlink(displayText, urlOrBookmark, isBookmark)।

क्या ये लिंक और रेफ़रेंस फ़ील्ड क्लासेज़ अन्य फ़ील्ड्स से अलग नेमस्पेस में हैं?

नहीं — FieldHyperlink, FieldRef, FieldCitation, और यहाँ कवर की गई बाकी क्लासेज़ साधारण Field सबक्लासेज़ हैं Aspose.Words.Fields नेमस्पेस में, वही नेमस्पेस जो हर अन्य फ़ील्ड प्रकार के लिए उपयोग किया जाता है।

साइटेशन फ़ील्ड्स बिब्लियोग्राफी डेटा मॉडल से कैसे संबंधित हैं?

FieldCitation and FieldBibliography लुकअप करके सामग्री प्रस्तुत करें SourceTag के खिलाफ Source रिकॉर्ड्स जो इसमें वर्णित हैं ग्रन्थसूची मार्गदर्शिका – ये फ़ील्ड क्लासेज़ रेंडरिंग को संभालते हैं, जबकि Source and Contributor क्लासेज़ आधारभूत डेटा को रखती हैं।

मैं इसे रेफ़रेंस करने से पहले बुकमार्क कैसे बनाऊँ?

कंटेंट से पहले DocumentBuilder.StartBookmark(bookmarkName) कॉल करें, और उसके बाद DocumentBuilder.EndBookmark(bookmarkName) कॉल करें, दोनों कॉल्स के लिए एक ही नाम का उपयोग करें।

यह भी देखें

 हिन्दी