दस्तावेज़ सहेजना और निर्यात करना

दस्तावेज़ सहेजना और निर्यात करना

दस्तावेज़ को सहेजना और निर्यात करना

Document.Save एक दस्तावेज़ को लक्ष्य स्वरूप में फ़ाइल या स्ट्रीम पर लिखता है। स्वरूप या तो फ़ाइल एक्सटेंशन से अनुमानित किया जाता है, या स्पष्ट रूप से SaveFormat मान के रूप में दिया जाता है, या SaveOptions उपवर्ग द्वारा संचालित होता है — OoxmlSaveOptions, MarkdownSaveOptions, या TxtSaveOptions — स्वरूप-विशिष्ट नियंत्रण के लिए। यह मार्गदर्शिका Save ओवरलोड, SaveFormat enum, OOXML सहेजने विकल्प, Markdown और साधारण-पाठ निर्यात, तथा रूपांतरण से पहले स्वरूप का पता लगाने को कवर करती है।


Document.Save के साथ सहेजना

सबसे सरल कॉल, Document.Save(fileName), फ़ाइल के एक्सटेंशन से लक्ष्य स्वरूप का अनुमान लगाता है। Save(fileName, saveFormat) एक्सटेंशन की परवाह किए बिना स्वरूप को स्पष्ट करता है, और Save(fileName, saveOptions) (या संबंधित Stream ओवरलोड) स्वरूप-विशिष्ट सेटिंग्स के लिए एक SaveOptions उपवर्ग को स्वीकार करता है। SaveOptions.CreateSaveOptions(saveFormat) एक स्थैतिक फ़ैक्टरी है जो दिए गए SaveFormat के लिए सही विकल्प उपवर्ग लौटाती है, जिसमें उसके डिफ़ॉल्ट पहले से ही सेट होते हैं।


SaveFormat के साथ स्वरूप चुनना

SaveFormat enum लाइब्रेरी द्वारा पहचाने जाने वाले प्रत्येक सहेजने-स्वरूप पहचानकर्ता को सूचीबद्ध करता है। Document.Save इस संस्करण के मुख्य दस्तावेज़ स्वरूपों — DOCX, DOCM, DOTX, DOTM, और Flat OPC (साथ ही इसके मैक्रो-सक्षम और टेम्पलेट संस्करण) — के साथ-साथ Markdown और साधारण पाठ को पूर्ण रूप से लिखता और पढ़ता है। FileFormatUtil.SaveFormatToExtension(saveFormat) और ExtensionToSaveFormat(extension) enum और फ़ाइल एक्सटेंशन स्ट्रिंग के बीच रूपांतरण करते हैं।

कुछ SaveFormat मान enum में API पूर्णता के लिए मौजूद हैं, लेकिन वे उन स्वरूपों से मेल खाते हैं जिनके लिए यह सीमित, ओपन-सोर्स संस्करण कार्यशील रीडर या राइटर लागू नहीं करता — उन में से किसी एक में सहेजने का प्रयास करने पर ऐसा आउटपुट उत्पन्न होता है जो मूल दस्तावेज़ के बराबर नहीं होता। विश्वसनीय राउंड-ट्रिपिंग के लिए उपर्युक्त नामित स्वरूपों का ही उपयोग करें।


OOXML विकल्प: DOCX, DOCM, DOTX, DOTM, और Flat OPC

OoxmlSaveOptions किसी भी Open XML फ़ॉर्मेट में सहेजने को कॉन्फ़िगर करता है। इसका SaveFormat प्रॉपर्टी यह चुनता है कि कौन सा विशिष्ट वेरिएंट लिखा जाए; Password सहेजे गए फ़ाइल पर एक ओपन पासवर्ड सेट करता है ( Document.Protect की संपादन प्रतिबंधों से स्वतंत्र); Compliance OOXML सख्ती स्तर का चयन करता है; और CompressionLevel / Zip64Mode अंतर्निहित ZIP पैकेजिंग को नियंत्रित करते हैं। new OoxmlSaveOptions(saveFormat) के साथ एक बनाएँ या SaveOptions.CreateSaveOptions(saveFormat) के द्वारा।


Markdown में निर्यात

MarkdownSaveOptions Markdown निर्यात को नियंत्रित करता है: ListExportMode और LinkExportMode यह तय करते हैं कि सूची और हाइपरलिंक्स कैसे रेंडर हों, ImagesFolder / ImagesFolderAlias यह नियंत्रित करते हैं कि निकाली गई छवियां कहाँ लिखी जाएँ और उन्हें कैसे संदर्भित किया जाए, ExportImagesAsBase64 इसके बजाय उन्हें इनलाइन एम्बेड करता है, और TableContentAlignment उत्पन्न तालिका मार्कअप को प्रभावित करता है। एक MarkdownSaveOptions इंस्टेंस को Document.Save(fileName, saveOptions) में .md फ़ाइल नाम के साथ पास करें, या उसका SaveFormat स्पष्ट रूप से सेट करें।


सादा पाठ में निर्यात

TxtSaveOptions (अपने बेस TxtSaveOptionsBase के माध्यम से, जो MarkdownSaveOptions के साथ साझा है) सादा-पाठ निर्यात को नियंत्रित करता है: Encoding कैरेक्टर एन्कोडिंग सेट करता है, ParagraphBreak लाइन-एंडिंग स्ट्रिंग सेट करता है, MaxCharactersPerLine लंबी पंक्तियों को रैप करता है, SimplifyListLabels सूची बुलेट/नंबर को साधारण अक्षरों में सामान्य बनाता है, और PreserveTableLayout स्पेसेस का उपयोग करके तालिका कॉलम को संरेखित रखने का प्रयास करता है।


परिवर्तन से पहले फ़ॉर्मेट का पता लगाना

किसी फ़ाइल को बदलने से पहले जिसका फ़ॉर्मेट आपको पहले से ज्ञात नहीं है, FileFormatUtil.DetectFileFormat(fileName) पता लगाए गए LoadFormat के साथ एक FileFormatInfo लौटाता है। इसे FileFormatUtil.LoadFormatToSaveFormat(loadFormat) के साथ मिलाकर तय करें कि इस संस्करण के समर्थित फ़ॉर्मेट्स के माध्यम से राउंड-ट्रिप संभव है या नहीं, Document.Save का प्रयास करने से पहले।


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

  • जब भी आपको मार्कडाउन सूची रेंडरिंग या OOXML संपीड़न जैसी फ़ॉर्मेट-विशिष्ट व्यवहार को नियंत्रित करने की आवश्यकता हो, तो साधारण Save(fileName, saveFormat) ओवरलोड के बजाय Save(fileName, saveOptions) का उपयोग करें।
  • एक ओपन-पासवर्ड-प्रोटेक्टेड फ़ाइल के लिए OoxmlSaveOptions.Password सेट करें; यह Document.Protect से अलग है, जो संपादन को प्रतिबंधित करता है लेकिन फ़ाइल को एन्क्रिप्ट नहीं करता।
  • एक एकल स्व-समाहित मार्कडाउन फ़ाइल के लिए MarkdownSaveOptions.ExportImagesAsBase64 चुनें, या जब आप मार्कडाउन के साथ निकाली गई इमेज फ़ाइलों के फ़ोल्डर चाहते हैं तो ImagesFolder चुनें।
  • जब लक्ष्य फ़ॉर्मेट रनटाइम पर निर्धारित हो, तो मैन्युअली ठोस विकल्प वर्ग चुनने के बजाय SaveOptions.CreateSaveOptions(saveFormat) को कॉल करें।
  • रूपांतरण से पहले लक्ष्य फ़ॉर्मेट को FileFormatUtil के साथ सत्यापित करें, न कि केवल फ़ाइल एक्सटेंशन पर निर्भर रहें, जो गलत या भ्रामक हो सकता है।

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

समस्याकारणसमाधान
Save(fileName) गलत फ़ॉर्मेट चुनता हैफ़ाइल एक्सटेंशन इच्छित फ़ॉर्मेट से मेल नहीं खाता हैफ़ॉर्मेट को स्पष्ट करने के लिए Save(fileName, saveFormat) या Save(fileName, saveOptions) का उपयोग करें
सहेजी गई OOXML फ़ाइल पासवर्ड से नहीं खुलेगीOoxmlSaveOptions.Password सहेजने से पहले सेट नहीं किया गया थाएक OoxmlSaveOptions बनाएं, Password सेट करें, और इसे Save को पास करें
मार्कडाउन निर्यात अप्रत्याशित रूप से छवि फ़ाइलों को बिखेर देता हैडिफ़ॉल्ट MarkdownSaveOptions व्यवहार छवियों को फ़ाइलों में निकालता हैExportImagesAsBase64 = true को एकल स्व-निहित फ़ाइल के लिए सेट करें, या ImagesFolder को सेट करके छवियों के स्थान को नियंत्रित करें
सादा-टेक्स्ट निर्यात तालिका कॉलम संरेखण को खो देता हैTxtSaveOptions.PreserveTableLayout को डिफ़ॉल्ट पर ही रहने दिया गया हैसहेजने से पहले PreserveTableLayout = true सेट करें

FAQ

मैं फ़ाइल एक्सटेंशन की परवाह किए बिना दस्तावेज़ को एक विशिष्ट फ़ॉर्मेट में कैसे सहेजूँ?

एक स्पष्ट SaveFormat मान के साथ Save(fileName, saveFormat) को कॉल करें, या मिलते-जुलते SaveOptions सबक्लास के साथ Save(fileName, saveOptions) को कॉल करें।

यह संस्करण कौन-से फ़ॉर्मेट दोनों दिशाओं में पढ़ता और लिखता है?

DOCX, DOCM, DOTX, DOTM, Flat OPC (प्लस इसके मैक्रो-सक्षम और टेम्पलेट वेरिएंट), Markdown, और साधारण टेक्स्ट।

मैं सहेजी गई फ़ाइल को पासवर्ड से कैसे सुरक्षित करूँ?

एक OoxmlSaveOptions इंस्टेंस पर Password सेट करें और इसे Document.Save(fileName, saveOptions) को पास करें।

निर्यातित टेक्स्ट फ़ाइल में लाइन एंडिंग्स को मैं कैसे नियंत्रित करूँ?

सहेजने से पहले एक TxtSaveOptions इंस्टेंस पर ParagraphBreak सेट करें।

फ़ाइल के फ़ॉर्मेट को बदलने से पहले मैं इसे कैसे जाँचूँ?

FileFormatUtil.DetectFileFormat(fileName) को कॉल करें और लौटाए गए FileFormatInfo.LoadFormat को पढ़ें।


API Reference सारांश

क्लास/मेथडविवरण
Document.Saveदस्तावेज़ को चुने हुए फ़ॉर्मेट में फ़ाइल, स्ट्रीम, या आउटपुट टारगेट पर लिखता है।
SaveFormatसेव ऑपरेशन के लिए लक्ष्य फ़ॉर्मेट की पहचान करने वाला एनम।
SaveOptionsफ़ॉर्मेट-विशिष्ट सेव कॉन्फ़िगरेशन के लिए एब्स्ट्रैक्ट बेस क्लास; CreateSaveOptions(saveFormat) मिलते-जुलते सबक्लास को रिटर्न करता है।
OoxmlSaveOptionsDOCX, DOCM, DOTX, DOTM, और Flat OPC के लिए विकल्प — पासवर्ड, अनुपालन, संपीड़न।
MarkdownSaveOptionsMarkdown निर्यात के लिए विकल्प — सूची/लिंक रेंडरिंग, छवि प्रबंधन।
TxtSaveOptions / TxtSaveOptionsBaseसादा-टेक्स्ट निर्यात के विकल्प — एन्कोडिंग, लाइन ब्रेक, टेबल लेआउट.
FileFormatUtil.DetectFileFormatफ़ाइल का फ़ॉर्मेट लोड करने या रूपांतरित करने से पहले पहचानता है.
FileFormatUtil.SaveFormatToExtension / ExtensionToSaveFormatएक SaveFormat मान और फ़ाइल एक्सटेंशन के बीच परिवर्तित करें.

यह भी देखें

 हिन्दी