Pendahuluan

Aspose.Slides FOSS untuk Java kini tersedia di Maven Central: perpustakaan gratis berlisensi MIT untuk membuat, membaca, dan mengedit file PowerPoint .pptx sepenuhnya dalam Java, tanpa ketergantungan pada Microsoft Office atau runtime proprietari apa pun.

Perpustakaan ini dirancang untuk pengembang yang perlu menghasilkan atau memanipulasi file presentasi secara programatis: mengotomatisasi deck slide dari data, mengekstrak teks dan metadata dari file PPTX yang diunggah, membangun pipeline pelaporan berbasis presentasi, atau menyematkan pembuatan presentasi ke dalam aplikasi Spring Boot. Karena aspose-slides-foss adalah Java murni, ia dideploy secara identik pada Windows, macOS, Linux, dan kontainer Docker.

Fitur Utama

  • Dukungan PPTX putaran penuh: Buka file .pptx apa pun, ubah isinya, dan simpan kembali tanpa kehilangan bagian XML yang tidak dikenal yang belum dipahami oleh perpustakaan.
  • Manajemen slide: Tambah, hapus, dan iterasi slide menggunakan prs.getSlides(); presentasi dimulai dengan satu slide kosong setelah new Presentation().
  • AutoShapes, Tabel, dan Penghubung: Sisipkan bentuk melalui slide.getShapes().addAutoShape(), data tabel melalui slide.getShapes().addTable(), dan penghubung visual antar bentuk melalui slide.getShapes().addConnector().
  • Pemformatan teks kaya: Format teks pada tingkat karakter dengan PortionFormat: ukuran font, tebal, miring, garis bawah, dan warna ARGB melalui FillType.SOLID dan ColorFormat.
  • Jenis isian: Terapkan isian FillType.SOLID, GRADIENT, PATTERN, atau PICTURE pada bentuk apa pun.
  • Efek visual: Bayangan luar, cahaya, tepi lembut, blur, refleksi, dan bayangan dalam melalui shape.getEffectFormat().
  • Pemformatan 3D: Bevel, kamera, rig cahaya, material, dan kedalaman ekstrusi melalui shape.getThreeDFormat().
  • Catatan pembicara: Lampirkan teks catatan ke setiap slide melalui getNotesSlideManager().addNotesSlide().
  • Komentar berutas: Tambahkan komentar dengan metadata penulis dan posisi slide.
  • Gambar tersemat: Sematkan dari jalur file, byte, atau InputStream.
  • Properti dokumen: Baca dan tulis properti inti, aplikasi, dan khusus.

Memulai

Tambahkan dependensi Maven. Java 21 atau yang lebih baru diperlukan.

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

Buat presentasi pertama Anda dengan sebuah bentuk dan simpan:

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;

public class HelloSlides {
    public static void main(String[] args) {
        try (Presentation prs = new Presentation()) {
            ISlide slide = prs.getSlides().get(0);
            IAutoShape shape = slide.getShapes().addAutoShape(
                ShapeType.RECTANGLE, 50, 50, 400, 120
            );
            shape.addTextFrame("Hello from Aspose.Slides FOSS!");
            prs.save("hello.pptx");
        }
    }
}

Selalu gunakan Presentation di dalam blok try-with-resources; ini memastikan semua sumber daya internal dilepaskan saat blok berakhir.

Contoh Pemformatan Teks

import org.aspose.slides.foss.Presentation;
import org.aspose.slides.foss.ISlide;
import org.aspose.slides.foss.IAutoShape;
import org.aspose.slides.foss.ITextFrame;
import org.aspose.slides.foss.IPortionFormat;
import org.aspose.slides.foss.ShapeType;
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.NullableBool;
import org.aspose.slides.foss.export.SaveFormat;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation()) {
    IAutoShape shape = prs.getSlides().get(0).getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 500, 150
    );
    ITextFrame tf = shape.addTextFrame("Bold heading in corporate blue");
    IPortionFormat fmt = tf.getParagraphs().get(0).getPortions().get(0).getPortionFormat();
    fmt.setFontHeight(28);
    fmt.setFontBold(NullableBool.TRUE);
    fmt.getFillFormat().setFillType(FillType.SOLID);
    fmt.getFillFormat().getSolidFillColor().setColor(new Color(0, 70, 127));
    prs.save("formatted.pptx");
}

Batasan Saat Ini

Area berikut melempar UnsupportedOperationException dalam rilis ini:

  • Diagram, SmartArt, dan objek OLE
  • Animasi dan transisi slide
  • Ekspor ke PDF, HTML, SVG, atau format gambar
  • Tautan hiper, pengaturan aksi, makro VBA, dan tanda tangan digital

Bagian XML yang tidak dikenal yang ditemui saat pemuatan dipertahankan secara verbatim saat disimpan, sehingga file PPTX yang dihasilkan oleh alat lain dapat melakukan round‑trip dengan aman.

Lihat Juga