Cum să încărcați prezentări în Java

Cum să încărcați prezentări în Java

Aspose.Slides FOSS pentru Java vă permite să deschideți orice fișier .pptx, să inspectați conținutul său și fie să îl salvați înapoi în PPTX, fie să extrageți date din el. Acest ghid acoperă deschiderea unui fișier, iterarea diapozitivelor, citirea textului formei și salvarea round‑tripping.

Ghid pas cu pas

Pasul 1: Adăugați dependența Maven

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

Pasul 2: Deschideți o prezentare existentă

Transmite calea fișierului la constructorul Presentation. Folosește try‑with‑resources pentru a asigura curățarea.

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

Părțile XML necunoscute din fișierul sursă sunt păstrate literalmente: biblioteca nu elimină niciodată conținutul pe care nu îl înțelege încă.


Pasul 3: Inspectaţi diapozitivele

Iterați prin toate diapozitivele și afișați numărul de forme:

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

Pasul 4: Citește textul formei

Iterați peste forme și citiți textul din formele care au un 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());
                }
            }
        }
    }
}

Pasul 5: Citește proprietățile documentului

Accesați proprietățile de bază ale documentului din 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());
}

Pasul 6: Salvare round‑trip

După inspectarea sau modificarea prezentării, salvați-o înapoi în format PPTX:

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

Salvarea într-o cale diferită creează un fișier nou. Salvarea în aceeași cale suprascrie originalul.


Probleme comune și soluții

java.io.FileNotFoundException

Verificați că calea către fișierul .pptx este corectă în raport cu directorul de lucru. Utilizați java.nio.file.Paths pentru construcția robustă a căii:

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

Biblioteca acceptă doar .pptx (Office Open XML). Fișierele vechi .ppt (PowerPoint binar 97-2003) nu sunt acceptate.

Formele nu au metoda getTextFrame()

Unele forme (Connectors, PictureFrames, GroupShapes) nu au un cadru de text. Verificați cu instanceof IAutoShape înainte de a face conversia și de a accesa textul.


Întrebări frecvente

Încărcarea păstrează tot conținutul original?

Da. Părțile XML necunoscute sunt păstrate literalmente la salvarea în buclă. Biblioteca serializează doar părțile modelului de document pe care le înțelege și transmite prin orice XML pe care nu îl recunoaște.

Pot încărca un PPTX protejat prin parolă?

Prezentările protejate prin parolă (criptate) nu sunt acceptate în această ediție.

Este acceptată încărcarea dintr-un InputStream?

Da. Constructorul Presentation acceptă un InputStream:

import java.io.FileInputStream;

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

Vezi și

 Română