Kā ielādēt prezentācijas Java valodā

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ēšanu, formu teksta nolasīšanu un saglabāšanas apgrieztu procesu.

Rokasgrāmata soli pa solim

1. solis: Pievienojiet 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

Padodiet 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.


3. solis: Pārbaudīt slaidus

Iterējiet visus slaidus 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");
    }
}

4. solis: Lasīt formas tekstu

Iterējiet pār 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 pamata 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ļ kā PPTX:

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

Saglabājot citā ceļā, tiek izveidots jauns fails. Saglabājot tajā pašā ceļā, tiek pārrakstīts oriģināls.


Biežas 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ļa konstrukciju:

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ārais 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 procesā. Bibliotēka tikai serializē dokumenta modeļa daļas, kuras tā saprot, un caurplūst jebkuru XML, ko tā neatpazīst.

Vai es 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());
}

Skatīt arī

 Latviešu