.NET में प्रस्तुतियों को कैसे सहेजें
Aspose.Slides FOSS for .NET प्रस्तुतियों को केवल .pptx फ़ॉर्मेट में prs.Save(path, SaveFormat.Pptx) का उपयोग करके सहेजता है। यह गाइड सही सहेजने के पैटर्न, अलग पथ पर सहेजना, स्ट्रीम में सहेजना, और सामान्य सहेजने से संबंधित त्रुटियों को कवर करता है।
चरण-दर-चरण गाइड
चरण 1: पैकेज स्थापित करें
aspose-slides-foss/slides is not yet published — build from source until it ships. See the project README for build instructions.
चरण 2: प्रस्तुति खोलें या बनाएं
हमेशा एक using कथन का उपयोग करें। सहेजने का कॉल ऑब्जेक्ट को नष्ट करने से पहले होना चाहिए।
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
// Create new
using var prs = new Presentation();
prs.Save("new.pptx", SaveFormat.Pptx);// Open existing
using var prs = new Presentation("input.pptx");
prs.Save("output.pptx", SaveFormat.Pptx);चरण 3: सभी संशोधनों के बाद सहेजें
सभी संशोधनों के पूर्ण होने के बाद, Save() कॉल रखें, इससे पहले कि using स्कोप समाप्त हो।
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 300, 100);
shape.AddTextFrame("Hello, World!");
prs.Save("output.pptx", SaveFormat.Pptx);चरण 4: अलग पथ पर सहेजें
मूल को संशोधित किए बिना नई फ़ाइल बनाने के लिए अलग आउटपुट पथ पास करें:
using var prs = new Presentation("template.pptx");
// modify ...
prs.Save("customized.pptx", SaveFormat.Pptx);template.pptx फ़ाइल में कोई परिवर्तन नहीं किया गया है; customized.pptx बनाई गई है (या यदि यह पहले से मौजूद है तो उसे ओवरराइट किया गया है)।
चरण 5: स्ट्रीम में सहेजें
Presentation.Save विधि भी एक Stream स्वीकार करती है:
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
using var stream = new MemoryStream();
prs.Save(stream, SaveFormat.Pptx);
byte[] pptxBytes = stream.ToArray();
Console.WriteLine($"Size: {pptxBytes.Length} bytes");चरण 6: आउटपुट सत्यापित करें
फ़ाइल में सहेजने के बाद, जाँचें कि यह मौजूद है:
var info = new FileInfo("output.pptx");
Console.WriteLine($"Saved: {info.Exists}, size: {info.Length} bytes");समर्थित सहेजने का फ़ॉर्मेट
| फ़ॉर्मेट | एनम मान | समर्थित |
|---|---|---|
| PPTX (Office Open XML) | SaveFormat.Pptx | हाँ |
| N/A | नहीं | |
| HTML | N/A | नहीं |
| SVG | N/A | नहीं |
| PNG / JPEG | N/A | नहीं |
| ODP (OpenDocument) | N/A | नहीं |
केवल PPTX समर्थित है। फ़ॉर्मेट पैरामीटर वर्तमान में अनदेखा किया जाता है; सभी प्रस्तुतियों को SaveFormat निर्दिष्ट किए बिना PPTX के रूप में सहेजा जाता है।
सामान्य समस्याएँ और समाधान
IOException: The process cannot access the file
आउटपुट फ़ाइल किसी अन्य एप्लिकेशन में खुली हुई है (उदाहरण के लिए, PowerPoint में फ़ाइल खुली हुई है)। सहेजने से पहले अन्य एप्लिकेशनों में फ़ाइल को बंद करें।
फ़ाइल बनाई गई है लेकिन खाली या भ्रष्ट दिखती है
ऑब्जेक्ट को नष्ट करने से पहले prs.Save() को कॉल किया जाना सुनिश्चित करें। Dispose() चलने के बाद, बाद के कॉल विफल हो जाएंगे या भ्रष्ट आउटपुट उत्पन्न करेंगे।
सहेजते समय अप्रत्याशित आउटपुट फ़ॉर्मेट
SaveFormat का कोई भी मान, जो SaveFormat.Pptx नहीं है, पास करने पर कोई अपवाद नहीं फेंका जाता — फ़ॉर्मेट पैरामीटर को चुपचाप अनदेखा किया जाता है और फ़ाइल हमेशा PPTX के रूप में सहेजी जाती है। अपरिचित फ़ॉर्मेट मान के लिए कोई NotSupportedException नहीं है।
अक्सर पूछे जाने वाले प्रश्न
क्या मैं उसी फ़ाइल को सहेज सकता हूँ जिसे मैंने खोला था?
हाँ। उसी पथ पर सहेजने से मूल फ़ाइल ओवरराइट हो जाती है:
using var prs = new Presentation("deck.pptx");
// modify ...
prs.Save("deck.pptx", SaveFormat.Pptx); // overwrites originalक्या सहेजने से वह सामग्री संरक्षित रहती है जिसे मैंने संशोधित नहीं किया है?
हाँ। मूल फ़ाइल के अज्ञात XML भागों को शब्दशः संरक्षित किया जाता है। लाइब्रेरी केवल दस्तावेज़ मॉडल के उन भागों को सीरियलाइज़ करती है जिन्हें वह समझती है, और किसी भी XML को पास करती है जिसे वह पहचान नहीं पाती।