Cara Memuat Presentasi di Java

Cara Memuat Presentasi di Java

Aspose.Slides FOSS for Java memungkinkan Anda membuka file .pptx apa pun, memeriksa isinya, dan baik menyimpannya kembali ke PPTX atau mengekstrak data darinya. Panduan ini mencakup membuka file, mengiterasi slide, membaca teks shape, dan proses round‑tripping penyimpanan.

Panduan Langkah-demi-Langkah

Langkah 1: Tambahkan Dependensi Maven

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

Langkah 2: Buka Presentasi yang Ada

Berikan jalur file ke konstruktor Presentation. Gunakan try-with-resources untuk memastikan pembersihan.

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

Bagian XML yang tidak dikenal dalam file sumber dipertahankan secara verbatim: perpustakaan tidak pernah menghapus konten yang belum dipahaminya.


Langkah 3: Periksa Slide

Iterasi semua slide dan cetak jumlah shape mereka:

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

Langkah 4: Baca Teks Bentuk

Iterasikan bentuk dan baca teks dari bentuk yang memiliki 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());
                }
            }
        }
    }
}

Langkah 5: Baca Properti Dokumen

Akses properti dokumen inti dari 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());
}

Langkah 6: Simpan Putar Balik

Setelah memeriksa atau memodifikasi presentasi, simpan kembali ke PPTX:

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

Menyimpan ke jalur yang berbeda membuat file baru. Menyimpan ke jalur yang sama menimpa file asli.


Masalah Umum dan Solusi

java.io.FileNotFoundException

Periksa bahwa jalur ke file .pptx sudah benar relatif terhadap direktori kerja. Gunakan java.nio.file.Paths untuk konstruksi jalur yang kuat:

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

Perpustakaan hanya mendukung .pptx (Office Open XML). File versi lama .ppt (binary PowerPoint 97-2003) tidak didukung.

Shapes tidak memiliki metode getTextFrame()

Beberapa bentuk (Connectors, PictureFrames, GroupShapes) tidak memiliki bingkai teks. Periksa dengan instanceof IAutoShape sebelum melakukan casting dan mengakses teks.


Pertanyaan yang Sering Diajukan

Apakah pemuatan mempertahankan semua konten asli?

Ya. Bagian XML yang tidak diketahui dipertahankan secara verbatim pada penyimpanan round‑trip. Perpustakaan hanya menserialisasi bagian‑bagian model dokumen yang dipahaminya, dan meneruskan setiap XML yang tidak dikenalnya.

Bisakah saya memuat PPTX yang dilindungi kata sandi?

Presentasi yang dilindungi kata sandi (terenkripsi) tidak didukung dalam edisi ini.

Apakah memuat dari InputStream didukung?

Ya. Konstruktor Presentation menerima sebuah InputStream:

import java.io.FileInputStream;

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

Lihat Juga

 Bahasa Indonesia