Kuinka ladata esitykset Java:ssa

Kuinka ladata esitykset Java:ssa

Aspose.Slides FOSS for Java lets you open any .pptx tiedosto, tarkastele sen sisältöä ja joko tallenna se takaisin PPTX-muotoon tai pura siitä tietoja. Tämä opas kattaa tiedoston avaamisen, diojen läpikäymisen, muotojen 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

Anna tiedostopolku Presentation konstruktoriin. Käytä try-with-resources-varmistamaan siivous.

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 tarkalleen sellaisina: kirjasto ei koskaan poista sisältöä, jota se ei vielä ymmärrä.


Vaihe 3: Tarkastele dioja

Käy läpi kaikki diat ja tulosta niiden muotojen mää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 ydindokumentin ominaisuuksiin 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: Tallenna kierrätyksenä

Kun olet tarkastellut 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 tiedosto on oikea suhteessa työhakemistoon. Käytä java.nio.file.Paths luotettavaa polunrakennusta varten:

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. Legacy .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 tarkalleen sellaisina pyöräytysvaiheessa tallennettaessa. Kirjasto sarjoittaa vain ne osat asiakirjamallista, jotka se ymmärtää, ja läpäisee kaikki tunnistamattomat XML‑osat.

Voinko ladata salasanasuojatun PPTX‑tiedoston?

Salasanasuojattuja (salattuja) esityksiä ei tueta tässä versiossa.

Onko InputStreamistä lataaminen 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