Kako učitati prezentacije u Javi

Kako učitati prezentacije u Javi

Aspose.Slides FOSS for Java omogućava otvaranje bilo koje .pptx datoteke, pregled njenog sadržaja i ili čuvanje nazad u PPTX ili izdvajanje podataka iz nje. Ovaj vodič pokriva otvaranje datoteke, iteriranje slajdova, čitanje teksta oblika i round‑tripping čuvanje.

Vodič korak po korak

Korak 1: Dodajte Maven zavisnost

<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>

Korak 2: Otvorite postojeću prezentaciju

Prosledite putanju do fajla konstruktoru Presentation. Koristite try-with-resources da biste osigurali čišćenje.

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);
}

Nepožnati XML delovi u izvornom fajlu se čuvaju doslovno: biblioteka nikada ne uklanja sadržaj koji još ne razume.


Korak 3: Pregledaj slajdove

Iterirajte kroz sve slajdove i odštampajte njihov broj oblika:

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");
    }
}

Korak 4: Čitanje teksta oblika

Iterirajte kroz oblike i pročitajte tekst iz oblika koji imaju 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());
                }
            }
        }
    }
}

Korak 5: Čitanje svojstava dokumenta

Pristupite osnovnim svojstvima dokumenta iz 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());
}

Korak 6: Sačuvaj u oba smera

Nakon pregleda ili izmene prezentacije, sačuvajte je nazad u PPTX:

prs.save("output.pptx", SaveFormat.PPTX);

Čuvanje na drugu putanju kreira novu datoteku. Čuvanje na istu putanju prepisuje original.


Uobičajeni problemi i popravke

java.io.FileNotFoundException

Proverite da je putanja do datoteke .pptx ispravna u odnosu na radni direktorijum. Koristite java.nio.file.Paths za robusnu konstrukciju putanje:

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

Biblioteka podržava .pptx (Office Open XML) samo. Legacy .ppt (binarni PowerPoint 97‑2003) fajlovi nisu podržani.

Oblici nemaju getTextFrame() metodu

Neki oblici (Connectors, PictureFrames, GroupShapes) nemaju tekstualni okvir. Proverite sa instanceof IAutoShape pre kastovanja i pristupa tekstu.


Često postavljana pitanja

Da li učitavanje čuva sav originalni sadržaj?

Da. Nepoznati XML delovi se čuvaju doslovno prilikom čuvanja u krugu. Biblioteka serijalizuje samo delove modela dokumenta koje razume i propušta bilo koji XML koji ne prepoznaje.

Mogu li učitati PPTX zaštićen lozinkom?

Prezentacije zaštićene lozinkom (šifrovane) nisu podržane u ovoj ediciji.

Da li je učitavanje iz InputStream-a podržano?

Da. Konstruktor Presentation prihvata InputStream:

import java.io.FileInputStream;

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

Види такође

 Српски