कैसे लोड करें Word दस्तावेज़ .NET में
कैसे लोड करें Word दस्तावेज़ .NET में
Aspose.Words FOSS for .NET दस्तावेज़ को मेमोरी में पढ़ता है जैसे ही आप एक Document ऑब्जेक्ट — लाइब्रेरी में प्रत्येक लोड पाथ यहाँ से होकर गुजरता है Document’s कन्स्ट्रक्टर ओवरलोड्स और LoadOptions क्लास। यह गाइड दिखाता है कि फ़ाइल या स्ट्रीम से दस्तावेज़ कैसे लोड किया जाए, पासवर्ड या फ़ॉर्मेट-विशिष्ट सेटिंग्स कैसे प्रदान करें, और यह नियंत्रित करें कि लोडिंग के दौरान बाहरी संसाधन या संभावित रूप से विकृत दस्तावेज़ मिलने पर क्या होता है। Aspose.Words FOSS for .NET स्रोत से बनाया जाता है और पैकेज फ़ीड से स्थापित करने के बजाय सीधे प्रोजेक्ट में संदर्भित किया जाता है — देखें इंस्टॉलेशन गाइड नीचे दिए गए कार्यों को करने से पहले बिल्ड स्टेप्स के लिए।
कदम दर कदम मार्गदर्शिका
चरण 1: फ़ाइल या स्ट्रीम से दस्तावेज़ लोड करें
Document में पाँच कन्स्ट्रक्टर्स हैं। Document() एक नया, खाली दस्तावेज़ बनाता है बजाय इसे लोड करने के। Document(fileName) डिस्क पर पाथ से सीधे लोड करता है, और Document(stream) किसी भी पठनीय Stream से लोड करता है — यह उपयोगी है जब स्रोत फ़ाइल नहीं है, जैसे मेमोरी में पहले से मौजूद सामग्री या नेटवर्क कनेक्शन के माध्यम से प्राप्त। दोनों में एक साथी ओवरलोड है जो दूसरा आर्ग्युमेंट स्वीकार करता है, Document(fileName, loadOptions) और Document(stream, loadOptions), जो इस गाइड के सभी अन्य कार्यों के लिए प्रवेश बिंदु है।
चरण 2: पासवर्ड-संरक्षित दस्तावेज़ लोड करें
कॉल करने से पहले Document(fileName, loadOptions) (या स्ट्रीम ओवरलोड) के साथ पासवर्ड के साथ एक LoadOptions बनाएं। new LoadOptions(password) सीधे LoadOptions.Password सेट करता है; वैकल्पिक रूप से, पास करने से पहले पैरामीटररहित LoadOptions() इंस्टेंस पर Password सेट करें। पासवर्ड को पहले से ही प्रदान करें बजाय पहले लोड करने और विफलता पर प्रतिक्रिया देने के — Aspose.Words FOSS for .NET को किसी भी संरक्षित फ़ाइल को पार्स करने के लिए पासवर्ड चाहिए, इसलिए पुनर्प्राप्त करने के लिए कोई आंशिक रूप से लोडेड स्थिति नहीं रहती।
चरण 3: टेक्स्ट और मार्कडाउन स्रोतों के लिए फ़ॉर्मेट-विशिष्ट विकल्प लागू करें
सादा-टेक्स्ट और मार्कडाउन स्रोत वे सेटिंग्स स्वीकार करते हैं जो बेस LoadOptions नहीं दिखाता। TxtLoadOptions AutoNumberingDetection और DetectNumberingWithWhitespaces जोड़ता है ताकि सादा टेक्स्ट में क्रमांकित सूचियों की पहचान हो सके, DetectHyperlinks बेज़ URL को हाइपरलिंक में बदलने के लिए, DocumentDirection (LeftToRight, RightToLeft, या Auto) टेक्स्ट प्रवाह दिशा के लिए, और अलग-अलग LeadingSpacesOptions/TrailingSpacesOptions (प्रकार TxtLeadingSpacesOptions/TxtTrailingSpacesOptions) प्रत्येक पंक्ति की शुरुआत और अंत में व्हाइटस्पेस संभालने के लिए। MarkdownLoadOptions PreserveEmptyLines, ImportUnderlineFormatting, और SoftLineBreakCharacter जोड़ता है ताकि यह नियंत्रित किया जा सके कि मार्कडाउन के लाइन-ब्रेक नियम पैराग्राफ़ और रन पर कैसे लागू हों। दोनों सबक्लास LoadOptions से व्युत्पन्न होते हैं, इसलिए किसी भी पर पासवर्ड या रिसोर्स-लोडिंग कॉलबैक को सेट करना बेस क्लास जैसा ही व्यवहार करता है — फ़ॉर्मेट-विशिष्ट इंस्टेंस को Document(fileName, loadOptions) को वैसे ही पास करें जैसे आप एक साधारण LoadOptions पास करेंगे।
चरण 4: लोडिंग के दौरान बाहरी संसाधनों को पुनर्निर्देशित या इंटरसेप्ट करें
जब आपको लोडिंग के दौरान दस्तावेज़ द्वारा संदर्भित बाहरी संसाधन के समाधान को नियंत्रित करना हो, तो LoadOptions.ResourceLoadingCallback को IResourceLoadingCallback के एक कार्यान्वयन पर सेट करें। इसका ResourceLoading(args) मेथड एक ResourceLoadingArgs प्राप्त करता है जो संसाधन के ResourceType (Image, Font, CssStyleSheet, या Document) का विवरण देता है, साथ ही Uri और OriginalUri के साथ, और एक ResourceLoadingAction लौटाता है — Default संसाधन को सामान्य रूप से लोड करने के लिए, Skip उसे छोड़ने के लिए, या UserProvided ResourceLoadingArgs.SetData(data) के माध्यम से प्रदान किए डेटा को प्रतिस्थापित करने के लिए।
चरण 5: भाषा डिफ़ॉल्ट और रिकवरी व्यवहार सेट करें
जब दस्तावेज़ की भाषा मेटाडेटा अनुपलब्ध या अविश्वसनीय हो, तो लोडिंग से पहले LoadOptions.LanguagePreferences.DefaultEditingLanguage को एक EditingLanguage मान पर सेट करें, और LanguagePreferences पर AddEditingLanguage(language) या AddEditingLanguages(languages) का उपयोग करके अतिरिक्त भाषाएँ पंजीकृत करें जो दस्तावेज़ में हो सकती हैं। उन स्रोतों के लिए जो खराब हो सकते हैं, LoadOptions.RecoveryMode को एक DocumentRecoveryMode मान पर सेट करें — None बिना किसी रिकवरी प्रयास के लोड करने के लिए, या TryRecover ताकि लोडर कुछ संरचनात्मक समस्याओं को संभाल ले और लोड फेल न हो।
सामान्य समस्याएँ और समाधान
पासवर्ड-प्रोटेक्टेड दस्तावेज़ को लोड करने पर पासवर्ड प्रदान करने के बाद भी अपवाद फेंका जाता है। सुनिश्चित करें कि पासवर्ड ठीक उसी पर सेट किया गया था. LoadOptions इंस्टेंस को पास किया गया Document(fileName, loadOptions) (या स्ट्रीम ओवरलोड) — द्वारा new LoadOptions(password) या सेट करके Password बाद में — और यह कि यह वही ऑब्जेक्ट है जो वास्तव में कन्स्ट्रक्टर को पास किया गया है। एक LoadOptions जो बनाया गया था लेकिन कभी भी पास नहीं किया गया Document लोड पर कोई प्रभाव नहीं डालता।
टेक्स्ट या मार्कडाउन-विशिष्ट सेटिंग्स लागू नहीं होती दिखती हैं। जाँचें कि एक TxtLoadOptions or MarkdownLoadOptions इंस्टेंस — बेस नहीं LoadOptions — को पास किया गया Document कंस्ट्रक्टर। केवल सबक्लास फॉर्मेट-विशिष्ट प्रॉपर्टीज़ को उजागर करता है; बेस क्लास को पास करने से कोड कंपाइल हो जाता है लेकिन वह इन्हें चुपचाप हटा देता है।
बाहरी संसाधनों को इंटरसेप्ट या रीडायरेक्ट नहीं किया जा रहा है। ResourceLoadingCallback इसे उसी पर सेट किया जाना चाहिए LoadOptions ऑब्जेक्ट को पास किया गया Document कंस्ट्रक्टर, और इसे लोड कॉल से पहले असाइन किया जाना चाहिए। लोडिंग समाप्त होने के बाद इसे असाइन करने से कोई प्रभाव नहीं पड़ेगा।
एक विकृत दस्तावेज़ सेट करने के बाद भी लोड नहीं हो पाता है RecoveryMode. DocumentRecoveryMode.TryRecover लोडर को दस्तावेज़ में कुछ संरचनात्मक समस्याओं को ठीक करने देता है, लेकिन अधिक गंभीर भ्रष्टाचार अभी भी दस्तावेज़ को सफलतापूर्वक लोड होने से रोक सकता है।
एक दस्तावेज़ जो लोड किया गया है … Stream पथ द्वारा लोड की गई समान फ़ाइल की तुलना में अलग व्यवहार करता है। स्ट्रीम की स्थिति को शुरू में होने की पुष्टि करें इससे पहले कि इसे … को पास किया जाए। Document(stream) or Document(stream, loadOptions) — एक स्ट्रीम जो अपनी सामग्री के बीच में छोड़ी गई हो, केवल शेष बाइट्स को लोड करती है।
अक्सर पूछे जाने वाले प्रश्न
मैं किसी विशेष विकल्प के बिना दस्तावेज़ को कैसे लोड करूँ?
फ़ाइल पथ या एक Stream को सीधे Document(fileName) या Document(stream) को पास करें — LoadOptions केवल तब आवश्यक है जब पासवर्ड, फॉर्मेट-विशिष्ट सेटिंग्स, या कॉलबैक की आवश्यकता हो।
LoadOptions, TxtLoadOptions, और MarkdownLoadOptions में क्या अंतर है?
TxtLoadOptions और MarkdownLoadOptions दोनों LoadOptions से व्युत्पन्न होते हैं और क्रमशः प्लेन-टेक्स्ट और मार्कडाउन स्रोतों के लिए विशिष्ट सेटिंग्स जोड़ते हैं। हर सामान्य LoadOptions प्रॉपर्टी — पासवर्ड, एन्कोडिंग, कॉलबैक्स — दोनों सबक्लास में उपलब्ध रहती है।
क्या मैं बाइट एरे से सीधे दस्तावेज़ लोड कर सकता हूँ?
बाइट्स को एक MemoryStream में लपेटें और उस स्ट्रीम को Document(stream) या Document(stream, loadOptions) को पास करें — ऐसी कोई कंस्ट्रक्टर नहीं है जो बाइट एरे को सीधे स्वीकार करे।
जब लोडर बाहरी संसाधन को हल नहीं कर पाता है, तो क्या होता है, इसे मैं कैसे नियंत्रित करूँ?
IResourceLoadingCallback को लागू करें और उसे LoadOptions.ResourceLoadingCallback को असाइन करें। लोड को विफल होने देने के बजाय संसाधन को छोड़ने के लिए ResourceLoading(args) से ResourceLoadingAction.Skip लौटाएँ।
क्या RecoveryMode सेट करने से एक सही-फ़ॉर्मेटेड दस्तावेज़ लोड होने का तरीका बदलता है?
संख्या DocumentRecoveryMode केवल तब व्यवहार बदलता है जब लोडर वास्तव में संरचनात्मक समस्याओं का सामना करता है — एक सही-फ़ॉर्मेटेड दस्तावेज़ सेटिंग की परवाह किए बिना उसी तरह लोड होता है।