Kuinka ladata esitykset Java:ssa

Kuinka ladata esitykset Java:ssa

Aspose.Slides FOSS for Java antaa sinun avata minkä tahansa .pptx-tiedoston, tarkastella sen sisältöä ja joko tallentaa sen takaisin PPTX-muotoon tai poimia siitä tietoja. Tämä opas kattaa tiedoston avaamisen, diojen läpikäymisen, muodon tekstin lukemisen ja tallennuksen pyöräytyksen.

Vaiheittainen opas

Vaihe 1: Lisää Maven‑riippuvuus

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

Vaihe 2: Avaa olemassa oleva esitys

Välitä tiedostopolku Presentation-konstruktorille. Käytä try-with-resourcesia varmistaaksesi siivouksen.

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

Tuntemattomat XML-osat lähdetiedostossa säilytetään tarkasti sellaisenaan: kirjasto ei koskaan poista sisältöä, jota se ei vielä ymmärrä.


Vaihe 3: Tarkista diat

Iteroi kaikkien diojen läpi ja tulosta niiden muotojen lukumäärä:

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

Vaihe 4: Lue muodon teksti

Käy läpi muodot ja lue teksti muodoista, joilla on 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());
                }
            }
        }
    }
}

Vaihe 5: Lue asiakirjan ominaisuudet

Pääse käsiksi asiakirjan perusominaisuuksiin 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());
}

Vaihe 6: Kierrospalautus‑tallennus

Kun olet tarkastanut tai muokannut esitystä, tallenna se takaisin PPTX-muotoon:

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

Tallentaminen eri polkuun luo uuden tiedoston. Tallentaminen samaan polkuun korvaa alkuperäisen.


Yleisiä ongelmia ja korjauksia

java.io.FileNotFoundException

Tarkista, että polku .pptx‑tiedostoon on oikea suhteessa työhakemistoon. Käytä java.nio.file.Paths‑menetelmää luotettavaan polunrakentamiseen:

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

Kirjasto tukee .pptx (Office Open XML) vain. Vanha .ppt (binary PowerPoint 97-2003) -tiedostoja ei tueta.

Muodoilla ei ole getTextFrame()-metodia

Jotkut muodot (Connectors, PictureFrames, GroupShapes) eivät sisällä tekstikehystä. Tarkista instanceof IAutoShape ennen muunnosta ja tekstin käyttöä.


Usein kysytyt kysymykset

Säilyttääkö lataus kaiken alkuperäisen sisällön?

Kyllä. Tuntemattomat XML‑osat säilytetään kirjaimellisesti kierrospalautus tallennuksessa. Kirjasto sarjoittaa vain ne asiakirjamallin osat, jotka se ymmärtää, ja välittää läpi kaikki XML‑t, joita se ei tunnista.

Voinko ladata salasanasuojatun PPTX:n?

Salasanalla suojattuja (salattuja) esityksiä ei tueta tässä versiossa.

Onko lataaminen InputStreamistä tuettu?

Kyllä. Presentation-konstruktori hyväksyy InputStream:

import java.io.FileInputStream;

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

Katso myös

 Suomi