.NET में प्रस्तुतियों को लोड कैसे करें
Aspose.Slides FOSS for .NET आपको किसी भी .pptx फ़ाइल को खोलने, उसकी सामग्री का निरीक्षण करने, और या तो उसे PPTX में वापस सहेजने या उससे डेटा निकालने की अनुमति देता है। यह गाइड फ़ाइल खोलने, स्लाइड्स को इटररेट करने, शैप टेक्स्ट पढ़ने, और सहेजने की राउंड‑ट्रिपिंग को कवर करता है।
चरण-दर-चरण गाइड
चरण 1: पैकेज स्थापित करें
dotnet add package Aspose.Slides.Fossचरण 2: मौजूदा प्रस्तुति खोलें
फ़ाइल पथ को new Presentation() को पास करें। सफ़ाई सुनिश्चित करने के लिए एक using कथन का उपयोग करें।
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation("input.pptx");
Console.WriteLine($"Slide count: {prs.Slides.Count}");
prs.Save("output.pptx", SaveFormat.Pptx);स्रोत फ़ाइल में अज्ञात XML भागों को शब्दशः संरक्षित किया जाता है: लाइब्रेरी कभी भी ऐसी सामग्री को नहीं हटाती जो वह अभी तक नहीं समझती।
चरण 3: स्लाइड्स की जाँच करें
सभी स्लाइड्स पर इटररेट करें और उनका इंडेक्स प्रिंट करें:
using Aspose.Slides.Foss;
using var prs = new Presentation("deck.pptx");
for (int i = 0; i < prs.Slides.Count; i++)
{
var slide = prs.Slides[i];
int shapeCount = slide.Shapes.Count;
Console.WriteLine($"Slide {i}: {shapeCount} shapes");
}चरण 4: आकार पाठ पढ़ें
आकारों पर इटररेट करें और उन आकारों से टेक्स्ट पढ़ें जिनमें TextFrame है:
using Aspose.Slides.Foss;
using var prs = new Presentation("deck.pptx");
foreach (var slide in prs.Slides)
{
foreach (var shape in slide.Shapes)
{
if (shape is IAutoShape autoShape && autoShape.TextFrame != null)
{
string text = autoShape.TextFrame.Text;
if (!string.IsNullOrWhiteSpace(text))
Console.WriteLine($" Shape text: {text}");
}
}
}चरण 5: दस्तावेज़ गुण पढ़ें
prs.DocumentProperties से कोर दस्तावेज़ गुणों तक पहुँचें:
using Aspose.Slides.Foss;
using var prs = new Presentation("deck.pptx");
var props = prs.DocumentProperties;
Console.WriteLine($"Title: {props.Title}");
Console.WriteLine($"Author: {props.Author}");
Console.WriteLine($"Subject: {props.Subject}");चरण 6: राउंड-ट्रिप सहेजें
प्रस्तुति की जांच करने या संशोधित करने के बाद, इसे फिर से PPTX में सहेजें:
prs.Save("output.pptx", SaveFormat.Pptx);विभिन्न पथ पर सहेजने से एक नई फ़ाइल बनती है। उसी पथ पर सहेजने से मूल फ़ाइल अधिलेखित हो जाती है।
सामान्य समस्याएँ और समाधान
FileNotFoundException
कार्यशील निर्देशिका के सापेक्ष पथ सही है, यह जांचें कि .pptx फ़ाइल का पथ सही है। मजबूत पथ निर्माण के लिए Path.Combine का उपयोग करें:
string path = Path.Combine(AppContext.BaseDirectory, "assets", "deck.pptx");
using var prs = new Presentation(path);Exception: File format is not supported
लाइब्रेरी केवल .pptx (Office Open XML) का समर्थन करती है। लेगेसी .ppt (binary PowerPoint 97-2003) फ़ाइलें समर्थित नहीं हैं।
Shapes में TextFrame प्रॉपर्टी नहीं होती
कुछ आकार (Connector, PictureFrame) में TextFrame नहीं होता है। IAutoShape में कास्ट करें और टेक्स्ट तक पहुँचने से पहले null की जाँच करें।
अक्सर पूछे जाने वाले प्रश्न
क्या लोडिंग सभी मूल सामग्री को संरक्षित करती है?
हाँ। अज्ञात XML भागों को राउंड‑ट्रिप सहेजने पर शाब्दिक रूप से संरक्षित किया जाता है। लाइब्रेरी किसी भी XML सामग्री को नहीं हटाएगी जिसे वह अभी तक पहचान नहीं पाती।
क्या मैं पासवर्ड‑संरक्षित PPTX लोड कर सकता हूँ?
पासवर्ड-प्रोटेक्टेड (एन्क्रिप्टेड) प्रस्तुतियों का इस संस्करण में समर्थन नहीं किया जाता है।
क्या मैं एम्बेडेड इमेजेज़ निकाल सकता हूँ?
इमेज संग्रह तक पहुँचें: prs.Images ImageCollection लौटाता है। प्रत्येक इमेज में कच्चा इमेज डेटा पढ़ने के लिए प्रॉपर्टीज़ होती हैं।
क्या MemoryStream से लोड करना समर्थित है?
हाँ। Presentation कंस्ट्रक्टर एक Stream को स्वीकार करता है:
using var stream = new MemoryStream(pptxBytes);
using var prs = new Presentation(stream);
Console.WriteLine($"Slides: {prs.Slides.Count}");