Kā ielādēt prezentācijas Java valodā
Aspose.Slides FOSS for Java ļauj atvērt jebkuru .pptx failu, pārbaudīt tā saturu un vai nu saglabāt to atpakaļ kā PPTX, vai izvilkt no tā datus. Šis ceļvedis aptver faila atvēršanu, slaidu iterāciju, formas teksta nolasīšanu un apgriezto saglabāšanas procesu.
Rokasgrāmata soli pa solim
1. solis: Pievienot Maven atkarību
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>2. solis: Atvērt esošu prezentāciju
Pārsūtiet faila ceļu Presentation konstruktoram. Izmantojiet try‑with‑resources, lai nodrošinātu tīrīšanu.
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);
}Nezināmas XML daļas avota failā tiek saglabātas burtiski: bibliotēka nekad neizņem saturu, ko tā vēl nesaprot.
Solis 3: Pārbaudīt slaidus
Iterējiet pāri visiem slaidiem un izdrukājiet to formu skaitu:
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");
}
}Solis 4: Nolasīt formas tekstu
Iterējiet pāri formām un nolasiet tekstu no formām, kurām ir 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. solis: Dokumenta īpašību nolasīšana
Piekļūt galvenajām dokumenta īpašībām no 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. solis: Apgrieztais saglabāšana
Pēc prezentācijas pārbaudes vai modificēšanas saglabājiet to atpakaļ PPTX formātā:
prs.save("output.pptx", SaveFormat.PPTX);Saglabāšana citā ceļā izveido jaunu failu. Saglabāšana tajā pašā ceļā pārraksta oriģinālu.
Vispārējās problēmas un risinājumi
java.io.FileNotFoundException
Pārbaudiet, vai ceļš uz .pptx failu ir pareizs attiecībā uz darba direktoriju. Izmantojiet java.nio.file.Paths, lai izveidotu stabilu ceļu:
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
Bibliotēka atbalsta tikai .pptx (Office Open XML). Vecākas .ppt (binārie PowerPoint 97-2003) faili netiek atbalstīti.
Formām nav getTextFrame() metodes
Dažām formām (Connectors, PictureFrames, GroupShapes) nav teksta rāmja. Pārbaudiet ar instanceof IAutoShape pirms pārveidošanas un teksta piekļuves.
Biežāk uzdotie jautājumi
Vai ielāde saglabā visu oriģinālo saturu?
Jā. Nezināmās XML daļas tiek saglabātas burtiski apgrieztā saglabāšanas laikā. Bibliotēka tikai serializē dokumenta modeļa daļas, kuras tā saprot, un caurļauj jebkuru XML, ko tā neatpazīst.
Vai varu ielādēt ar paroli aizsargātu PPTX?
Paroles aizsargātas (šifrētas) prezentācijas šajā izdevumā netiek atbalstītas.
Vai ielāde no InputStream tiek atbalstīta?
Jā. Presentation konstruktoram pieņem InputStream:
import java.io.FileInputStream;
try (FileInputStream fis = new FileInputStream("deck.pptx");
Presentation prs = new Presentation(fis)) {
System.out.println("Slides: " + prs.getSlides().size());
}