अंतरिम फ़ील्ड्स

अंतरिम फ़ील्ड्स

ट्रांज़िशनल फ़ील्ड्स

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

Aspose.Words FOSS for .NET एक समर्पित क्लास सेट के माध्यम से कुछ पुराने Word फ़ील्ड प्रकारों का प्रतिनिधित्व करता है Aspose.Words.Fields namespace, अनौपचारिक रूप से कहा जाता है transitional fields. ये फ़ील्ड हैं जो बाद के Open XML फ़ील्ड समकक्षों से पहले के हैं, लेकिन दस्तावेज़ों के भीतर वैध रहते हैं .docx legacy sources से खुले दस्तावेज़। प्रत्येक संक्रमणकालीन फ़ील्ड प्रकार की अपनी strongly-typed क्लास होती है जो व्युत्पन्न होती है Field, साथ ही generic Field object को उजागर करता है Document.Range.Fields.


बारकोड फ़ील्ड्स

दस्तावेज़ के भीतर बारकोड डेटा उत्पन्न करने या प्रदर्शित करने वाले तीन फ़ील्ड क्लास हैं: FieldBarcode (BARCODE फ़ील्ड — एक लेगेसी पोस्टल बारकोड जिसमें अपने PostalAddress, IsBookmark, FacingIdentificationMark, और IsUSPostalAddress प्रॉपर्टीज़ हैं), FieldDisplayBarcode (DISPLAYBARCODE फ़ील्ड), और FieldMergeBarcode (MERGEBARCODE फ़ील्ड, जो मेल मर्ज के दौरान उपयोग के लिए IMergeFieldSurrogate को भी लागू करता है)। FieldDisplayBarcode और FieldMergeBarcode समान सामान्य-उद्देश्य बारकोड कॉन्फ़िगरेशन प्रॉपर्टीज़ — BarcodeType, BarcodeValue, SymbolHeight, SymbolRotation, ScalingFactor, ForegroundColor, BackgroundColor, PosCodeStyle, CaseCodeStyle, ErrorCorrectionLevel, DisplayText, AddStartStopChar, और FixCheckDigit — साझा करते हैं, ऐसी प्रॉपर्टीज़ जो FieldBarcode में नहीं हैं।

BarcodeParameters क्लास एक पास-थ्रू कंटेनर है जो दोनों प्रॉपर्टी सेटों (पोस्टल-एड्रेस प्रॉपर्टीज़ और सामान्य बारकोड-कॉन्फ़िगरेशन प्रॉपर्टीज़) का यूनियन उजागर करता है, जिसका उपयोग बारकोड रेंडरर को सेटिंग्स पास करने के लिए किया जाता है, और IBarcodeGenerator वह इंटरफ़ेस है जिसे एक कस्टम रेंडरर इम्प्लीमेंट करता है, जो GetBarcodeImage(parameters) और लेगेसी GetOldBarcodeImage(parameters) को उजागर करता है। Document.Range.Fields को इटररेट करें और Field.Type को FieldType.FieldBarcode, FieldType.FieldDisplayBarcode या FieldType.FieldMergeBarcode के विरुद्ध जांचें ताकि इन फ़ील्ड्स को ढूंढा जा सके, फिर विशिष्ट फ़ील्ड क्लास में कास्ट करें — BarcodeValue और BarcodeType केवल FieldDisplayBarcode या FieldMergeBarcode में कास्ट करने के बाद उपलब्ध होते हैं, FieldBarcode में नहीं।


लेगेसी संगतता फ़ील्ड्स

चार अतिरिक्त फ़ील्ड क्लासेस पुराने Word फ़ील्ड कोड्स को कवर करती हैं जो नई लिखी गई दस्तावेज़ों में कम आम हैं लेकिन फिर भी लेगेसी .docx फाइलों में दिखाई देती हैं: FieldBidiOutline (BIDIOUTLINE फ़ील्ड, दाएँ-से-बाएँ रूपरेखा क्रमांकन के लिए), FieldEQ (EQ समीकरण फ़ील्ड, जो AsOfficeMath() को उजागर करता है ताकि उसकी सामग्री को एक OfficeMath ऑब्जेक्ट में बदला जा सके), FieldFootnoteRef (FOOTNOTEREF फ़ील्ड, जो फुटनोट या एंडनोट चिह्न को क्रॉस-रेफ़रेंस करता है), और FieldInfo (INFO फ़ील्ड, जो अपने InfoType और NewValue गुणों के माध्यम से दस्तावेज़ सारांश-सूचना प्रॉपर्टी को पढ़ता या लिखता है).

इन फ़ील्ड क्लासों में से प्रत्येक समान Field सतह को विरासत में प्राप्त करता है: GetFieldCode() फ़ील्ड के मूल कोड पाठ को लौटाता है, Update() फ़ील्ड के परिणाम को पुनः-मूल्यांकित करता है, Unlink() फ़ील्ड को उसके अंतिम गणना किए गए परिणाम से बदल देता है, और Remove() दस्तावेज़ से फ़ील्ड को हटा देता है। IFieldCodeTokenInfoProvider को FieldBarcode, FieldDisplayBarcode, FieldMergeBarcode और FieldInfo द्वारा लागू किया गया है, क्योंकि उनके फ़ील्ड कोड साधारण निर्देश स्ट्रिंग से परे संरचित स्विचेस रखते हैं।


टिप्स और सर्वोत्तम प्रथाएँ

  • एक सामान्य Field को ट्रांज़िशनल फ़ील्ड क्लास में कास्ट करने से पहले हमेशा Field.Type जाँचें — गलत कास्ट करने पर एक InvalidCastException फेंका जाता है।
  • बारकोड फ़ील्ड की प्रॉपर्टीज़ बदलने के बाद Update() को कॉल करें ताकि Result दस्तावेज़ सहेजे जाने से पहले नई कॉन्फ़िगरेशन को दर्शाए।
  • FieldEQ.AsOfficeMath() केवल तब सफल होता है जब EQ फ़ील्ड वास्तव में एक समीकरण को एन्कोड करता है; इसे कॉल करने से पहले फ़ील्ड के Result को फ़ॉर्मूला जैसा दिखना जांचें।
  • जब आप फ़ील्ड के वर्तमान मान को स्थिर टेक्स्ट के रूप में फ्रीज़ करना चाहते हैं और बाद में पुनः-गणना करने की क्षमता को त्याग देना चाहते हैं, तो Unlink() का उपयोग करें।
  • बारकोड फ़ील्ड क्लासें केवल डेटा ले जाती हैं — इस FOSS संस्करण में बारकोड रेंडरिंग इंजन शामिल नहीं है, इसलिए GetBarcodeImage() आउटपुट आपके द्वारा प्रदान किए गए IBarcodeGenerator कार्यान्वयन पर निर्भर करता है।

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

IssueCauseसुधारें
InvalidCastException जब Field को कास्ट किया जा रहा होगलत FieldType माना गयापहले Field.Type को मिलते-जुलते FieldType स्थिरांक के विरुद्ध जाँचें
FieldEQ.AsOfficeMath() अप्रत्याशित परिणाम लौटाता हैफ़ील्ड में वैध समीकरण निर्देश नहीं हैरूपांतरण से पहले GetFieldCode() आउटपुट का निरीक्षण करें
बारकोड फ़ील्ड में कोई रेंडर की गई छवि नहीं हैकोई IBarcodeGenerator कार्यान्वयन प्रदान नहीं किया गयाएक कस्टम जेनरेटर प्रदान करें जो GetBarcodeImage() को लागू करता है
FieldInfo मान NewValue परिवर्तन के बाद अपडेट नहीं हुआफ़ील्ड रिफ्रेश नहीं हुआफ़ील्ड पर Update() को कॉल करें, NewValue को संशोधित करने के बाद

FAQ

इन फ़ील्ड प्रकारों के लिए “transitional” का क्या अर्थ है?

यह आधिकारिक Word शब्दावली नहीं है — यह इस संस्करण के Aspose.Words.Fields नेमस्पेस में फ़ील्ड क्लासेज़ को समूहित करता है जो पुराने फ़ील्ड कोड (बारकोड और प्री-Open-XML संगतता फ़ील्ड) को अपनी स्वयं की मजबूत-टाइप्ड क्लासेज़ के माध्यम से लागू करते हैं, बजाय इसके कि केवल सामान्य Field ऑब्जेक्ट के माध्यम से संभाले जाएँ।

क्या यह संस्करण बारकोड छवियों को रेंडर करता है?

नहीं। FieldBarcode, FieldDisplayBarcode, और FieldMergeBarcode बारकोड डेटा रखते हैं और IBarcodeGenerator इंटरफ़ेस को उजागर करते हैं, लेकिन इस संस्करण में कोई अंतर्निहित बारकोड रेंडरिंग इंजन नहीं आता — आपको अपना स्वयं का IBarcodeGenerator कार्यान्वयन प्रदान करना होगा।

क्या मैं एक EQ फ़ील्ड को OfficeMath समीकरण में बदल सकता हूँ?

हाँ, FieldEQ.AsOfficeMath() के माध्यम से, बशर्ते फ़ील्ड का कोड वास्तव में एक समीकरण को एन्कोड करता हो।

मैं दस्तावेज़ में सभी संक्रमणीय फ़ील्ड कैसे खोजूँ?

Document.Range.Fields को गिनें और प्रत्येक Field.Type की तुलना संबंधित FieldType स्थिरांकों (FieldBarcode, FieldDisplayBarcode, FieldMergeBarcode, FieldBidiOutline, FieldEQ, FieldFootnoteRef, FieldInfo) से करें।


API Reference सारांश

क्लास / मेथडविवरण
FieldBarcodeBARCODE फ़ील्ड को लागू करता है
FieldDisplayBarcodeDISPLAYBARCODE फ़ील्ड को लागू करता है
FieldMergeBarcodeMERGEBARCODE mail-merge बारकोड फ़ील्ड को लागू करता है
BarcodeParametersजनरेटर को पास किए जाने वाले बारकोड सेटिंग्स का कंटेनर
IBarcodeGeneratorकस्टम बारकोड इमेज रेंडरर के लिए इंटरफ़ेस
FieldBidiOutlineBIDIOUTLINE फ़ील्ड को लागू करता है
FieldEQImplements the EQ समीकरण फ़ील्ड; AsOfficeMath() OfficeMath में परिवर्तित करता है
FieldFootnoteRefImplements the FOOTNOTEREF फ़ील्ड
FieldInfoImplements the INFO दस्तावेज़-प्रॉपर्टी फ़ील्ड

यह भी देखें

 हिन्दी