Cum să încărcați prezentări în Java
Aspose.Slides FOSS for Java lets you open any .pptx fișier, 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 din forme ș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ți calea fișierului către Presentation constructor. Utilizați 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 al fiecăruia:
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: Citiți 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: Citiți 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ă ce ați inspectat sau modificat prezentarea, salvați-o înapoi în PPTX:
prs.save("output.pptx", SaveFormat.PPTX);Salvarea într-o cale diferită creează un fișier nou. Salvarea în aceeași cale suprascrie fișierul original.
Probleme comune și soluții
java.io.FileNotFoundException
Verificați că calea către .pptx fișier este corectă în raport cu directorul de lucru. Utilizați java.nio.file.Paths pentru o construcție 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 suportă .pptx (Office Open XML) numai. Legacy .ppt (binary PowerPoint 97-2003) fișiere nu sunt suportate.
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 exact 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 suportate în această ediție.
Este suportată încărcarea dintr-un InputStream?
Da. The Presentation constructorul 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());
}