Java में प्रस्तुतियों को लोड करने का तरीका
Aspose.Slides FOSS for Java lets you open any .pptx फ़ाइल, उसकी सामग्री की जाँच करें, और या तो इसे PPTX में वापस सहेजें या उससे डेटा निकालें। यह गाइड फ़ाइल खोलने, स्लाइड्स पर इटररेट करने, शैप टेक्स्ट पढ़ने, और सहेजने की राउंड‑ट्रिपिंग को कवर करता है।.
स्टेप बाय स्टेप गाइड
चरण 1: Maven निर्भरता जोड़ें
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>चरण 2: मौजूदा प्रस्तुति खोलें
फ़ाइल पाथ को पास करें Presentation कंस्ट्रक्टर। क्लीनअप सुनिश्चित करने के लिए try-with-resources का उपयोग करें।.
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IShape;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IDocumentProperties;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation("input.pptx")) {
System.out.println("Slide count: " + prs.getSlides().size());
prs.save("output.pptx", SaveFormat.PPTX);
}स्रोत फ़ाइल में अज्ञात XML भागों को जैसा है वैसा ही संरक्षित किया जाता है: लाइब्रेरी कभी भी ऐसी सामग्री नहीं हटाती जिसे वह अभी तक समझ नहीं पाती।.
चरण 3: स्लाइड्स की जाँच करें
सभी स्लाइड्स पर इटररेट करें और उनके शैप काउंट को प्रिंट करें:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IShape;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IDocumentProperties;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation("deck.pptx")) {
for (int i = 0; i < prs.getSlides().size(); i++) {
ISlide slide = prs.getSlides().get(i);
int shapeCount = slide.getShapes().size();
System.out.println("Slide " + i + ": " + shapeCount + " shapes");
}
}चरण 4: शैप टेक्स्ट पढ़ें
शेप्स पर इटररेट करें और उन शेप्स से टेक्स्ट पढ़ें जिनमें एक TextFrame:
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IShape;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IDocumentProperties;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation("deck.pptx")) {
for (ISlide slide : prs.getSlides()) {
for (IShape shape : slide.getShapes()) {
if (shape instanceof IAutoShape) {
IAutoShape autoShape = (IAutoShape) shape;
ITextFrame tf = autoShape.getTextFrame();
if (tf != null && !tf.getText().isEmpty()) {
System.out.println(" Shape text: " + tf.getText());
}
}
}
}
}चरण 5: दस्तावेज़ गुण पढ़ें
कोर डॉक्यूमेंट प्रॉपर्टीज़ तक पहुँचें prs.getDocumentProperties():
import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IShape;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IDocumentProperties;
import org.aspose.slides.foss.export.SaveFormat;
try (Presentation prs = new Presentation("deck.pptx")) {
IDocumentProperties props = prs.getDocumentProperties();
System.out.println("Title: " + props.getTitle());
System.out.println("Author: " + props.getAuthor());
System.out.println("Subject: " + props.getSubject());
}चरण 6: राउंड‑ट्रिप सहेजें
प्रस्तुति की जाँच या संशोधन के बाद, इसे PPTX में वापस सहेजें:
prs.save("output.pptx", SaveFormat.PPTX);विभिन्न पाथ पर सहेजने से नई फ़ाइल बनती है। समान पाथ पर सहेजने से मूल फ़ाइल ओवरराइट हो जाती है।.
सामान्य समस्याएँ और समाधान
java.io.FileNotFoundException
जाँचें कि पाथ .pptx फ़ाइल कार्यशील डायरेक्टरी के सापेक्ष सही है। उपयोग करें java.nio.file.Paths मजबूत पाथ निर्माण के लिए:
import java.nio.file.Path;
import java.nio.file.Paths;
Path path = Paths.get("assets", "deck.pptx");
try (Presentation prs = new Presentation(path.toString())) {
// ...
}Exception: File format is not supported
लाइब्रेरी समर्थन करती है .pptx (Office Open XML) केवल। लेगेसी .ppt (binary PowerPoint 97-2003) फ़ाइलें समर्थित नहीं हैं।.
Shapes में getTextFrame() मेथड नहीं होता है
कुछ आकार (Connectors, PictureFrames, GroupShapes) में टेक्स्ट फ्रेम नहीं होता। जाँच करें instanceof IAutoShape कास्ट करने और टेक्स्ट तक पहुँचने से पहले।.
अक्सर पूछे जाने वाले प्रश्न
क्या लोड करने से सभी मूल सामग्री संरक्षित रहती है?
हां। अज्ञात XML भागों को राउंड‑ट्रिप सहेजने पर वैरbatim संरक्षित रखा जाता है। लाइब्रेरी केवल दस्तावेज़ मॉडल के उन भागों को सीरियलाइज़ करती है जिन्हें वह समझती है, और किसी भी अपरिचित XML को 그대로 पास कर देती है।.
क्या मैं पासवर्ड‑सुरक्षित PPTX लोड कर सकता हूँ?
पासवर्ड‑सुरक्षित (एन्क्रिप्टेड) प्रस्तुतियों को इस संस्करण में समर्थन नहीं दिया गया है।.
क्या InputStream से लोड करना समर्थित है?
हाँ। The Presentation constructor एक को स्वीकार करता है InputStream:
import java.io.FileInputStream;
try (FileInputStream fis = new FileInputStream("deck.pptx");
Presentation prs = new Presentation(fis)) {
System.out.println("Slides: " + prs.getSlides().size());
}