जावा में प्रस्तुतियों को लोड कैसे करें

जावा में प्रस्तुतियों को लोड कैसे करें

Aspose.Slides FOSS for Java आपको किसी भी .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 भागों को राउंड‑ट्रिप सहेजने पर जैसे का तैसा संरक्षित रखा जाता है। लाइब्रेरी केवल दस्तावेज़ मॉडल के उन भागों को सीरियलाइज़ करती है जिन्हें वह समझती है, और किसी भी XML को पास करती है जिसे वह पहचान नहीं पाती।

क्या मैं पासवर्ड‑संरक्षित PPTX लोड कर सकता हूँ?

पासवर्ड-संरक्षित (एन्क्रिप्टेड) प्रस्तुतियों का इस संस्करण में समर्थन नहीं किया जाता है।

क्या InputStream से लोड करना समर्थित है?

हाँ। Presentation कंस्ट्रक्टर एक InputStream को स्वीकार करता है:

import java.io.FileInputStream;

try (FileInputStream fis = new FileInputStream("deck.pptx");
     Presentation prs = new Presentation(fis)) {
    System.out.println("Slides: " + prs.getSlides().size());
}

संबंधित देखें

 हिन्दी