1. Produk
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for Java

Aspose.Slides FOSS untuk Java

Buat, baca, dan edit presentasi PowerPoint dari Java — gratis dan sumber terbuka, tidak memerlukan ketergantungan Office.

Perpustakaan Java Open-Source untuk Presentasi PowerPoint

Aspose.Slides FOSS untuk Java adalah perpustakaan pure-Java berlisensi MIT untuk bekerja dengan PowerPoint .pptx file. Tambahkan satu dependensi Maven dan segera mulai membuat, membaca, dan mengedit presentasi tanpa menginstal Microsoft Office atau runtime proprietari apa pun.

Perpustakaan ini menyediakan API Presentasi yang dibangun di sekitar Presentation, Slide, Shape, TextFrame, Paragraph, dan Portion, model konseptual yang digunakan oleh PowerPoint itu sendiri. Tambahkan dan hapus slide, sisipkan AutoShapes, Tabel, dan Connectors, format teks pada tingkat karakter dengan tebal, miring, ukuran font dan warna, terapkan isian padat atau gradien, dan tambahkan efek visual (bayangan, cahaya, blur, refleksi).

Kelas Presentation mengimplementasikan AutoCloseable, jadi gunakan try-with-resources untuk pembersihan yang dapat diandalkan. Bagian XML yang tidak dikenal yang ditemui selama pemuatan dipertahankan secara verbatim saat disimpan, sehingga round-tripping tidak pernah menghancurkan konten yang belum dipahami oleh perpustakaan. Untuk fitur tambahan dan dukungan, lihat Aspose.Slides for Java enterprise edition.

API Presentasi dan Slide

  • Create and open PPTX: Buat presentasi baru atau buka file .pptx yang ada melalui new Presentation() atau new Presentation(path).
  • Tambah dan hapus slide: Kelola SlideCollection secara programatis dengan addClone(), addEmptySlide(), remove(), dan removeAt().
  • AutoShapes: Masukkan persegi panjang, elips, garis, dan geometri ShapeType lainnya melalui addAutoShape().
  • Tabel dan Penghubung: Tambahkan bentuk tabel terstruktur dan garis penghubung antara bentuk melalui addConnector().
  • Catatan pembicara: Baca dan tulis catatan pembicara per-slide melalui NotesSlideManager.
  • Komentar berulir: Akses utas komentar tingkat slide dengan getSlideComments().

Di mana Aspose.Slides FOSS dapat digunakan

  • Report generation: Buat deck slide bermerek dari sumber data tanpa Office.
  • Otomatisasi templat: Isi templat PPTX dengan konten dinamis dalam pipeline CI/CD.
  • Migrasi konten: Baca presentasi yang ada dan susun ulang atau ubah gaya slide.
  • Backend tanpa server: Proses file PPTX di dalam kontainer Docker atau fungsi Lambda.
  • Pemrosesan batch: Terapkan perubahan format seragam pada perpustakaan deck slide yang besar.

Pemformatan Teks dan Efek Visual

  • Character-level formatting: Terapkan cetak tebal, miring, ukuran font, dan warna pada objek Portion individu melalui getPortionFormat().
  • Isian padat dan gradasi: Atur isian bentuk menjadi warna padat atau gradien linear multi‑stop menggunakan getFillFormat() dan FillType.
  • Efek bayangan dan cahaya: Terapkan bayangan luar, cahaya, blur, dan refleksi pada bentuk apa pun melalui getEffectFormat().
  • Penjajaran paragraf: Atur penjajaran kiri, tengah, kanan, atau rata per paragraf menggunakan getParagraphFormat().setAlignment().
  • Aman untuk perjalanan bolak-balik: Bagian XML yang tidak diketahui dipertahankan secara verbatim saat menyimpan kembali.

Pengalaman Pengembang

Aspose.Slides FOSS diinstal dengan satu dependensi Maven (org.aspose.slides.foss:aspose-slides-foss). Perpustakaan ini murni Java tanpa ekstensi native untuk dikompilasi dan tanpa paket sistem yang harus diinstal.

API mencerminkan model objek PowerPoint sendiri (Presentation, Slide, Shape, TextFrame, Paragraph, Portion), sehingga siapa pun yang familiar dengan model objek PowerPoint dapat langsung menggunakan perpustakaan ini. Ini berlisensi MIT, sumber terbuka di GitHub, dan memerlukan JDK 21 atau yang lebih baru.

Buat Presentasi dan Tambahkan Bentuk

Gunakan try-with-resources untuk memastikan Presentation selalu ditutup dan sumber daya dibebaskan. addAutoShape() mengambil enum ShapeType, kemudian posisi x/y dan lebar/tinggi dalam poin. Panggil addTextFrame() untuk membuat bingkai teks dan mengatur teks awal dalam satu panggilan — jangan panggil getTextFrame() sebelum addTextFrame() karena bingkai masih null sampai dibuat.

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

try (Presentation prs = new Presentation()) {
    ISlide slide = prs.getSlides().get(0);

    // Add a rectangle AutoShape
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 400, 150
    );
    shape.addTextFrame("Hello, Aspose.Slides!");

    prs.save("output.pptx");
}
 ```xml
<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>
 

Format Teks dan Terapkan Efek Isi

Pemformatan teks bekerja pada tingkat Portion — unit terkecil dari rangkaian karakter. Buka file yang disimpan, navigasikan ke bagian pertama dari paragraf pertama, dan atur properti font melalui getter dan setter. Isi bentuk bersifat independen: setel FillType ke SOLID dan tetapkan warna melalui getSolidFillColor().setColor().

import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation("output.pptx")) {
    IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}
 ```java
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation("output.pptx")) {
    IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}
 

Pertanyaan yang Sering Diajukan

Apa itu Aspose.Slides FOSS untuk Java?

Ini adalah perpustakaan pure-Java yang gratis, berlisensi MIT, untuk membuat, membaca, dan mengedit presentasi PowerPoint .pptx tanpa memerlukan Microsoft Office.

Format file apa yang didukung?

.pptx adalah format baca/tulis yang didukung. Ekspor ke PDF, HTML, SVG, atau gambar tidak tersedia dalam edisi ini.

Apakah itu memerlukan Microsoft Office atau PowerPoint?

Tidak. Aspose.Slides FOSS adalah perpustakaan pure-Java tanpa ketergantungan pada Microsoft Office, otomatisasi COM, atau runtime proprietari apa pun.

Bagaimana cara menginstalnya?

Tambahkan dependensi Maven org.aspose.slides.foss:aspose-slides-foss:1.0.0 ke proyek Anda. Tidak diperlukan paket sistem tambahan atau ekstensi native. JDK 21 atau yang lebih baru diperlukan.

Bisakah saya menerapkan efek visual seperti bayangan dan cahaya?

Ya. Perpustakaan ini mendukung bayangan luar, glow, blur, dan efek refleksi pada objek bentuk apa pun melalui API EffectFormat.

Apakah pola try-with-resources direkomendasikan?

Ya. Presentation mengimplementasikan AutoCloseable, jadi selalu gunakan try (Presentation prs = new Presentation()) { ... } untuk pembersihan sumber daya yang dapat diandalkan.

Apakah melakukan round-tripping pada PPTX akan menghancurkan konten yang tidak diketahui?

Tidak. Bagian XML yang tidak dikenal yang ditemui selama pemuatan disimpan persis saat disimpan, sehingga konten yang belum dipahami oleh perpustakaan tidak pernah hilang.

Di mana saya dapat menemukan kode sumber?

Perpustakaan ini berlisensi MIT dan dihosting di GitHub. Laporan bug dan pull request dipersilakan.

  

Sumber Daya Dukungan dan Pembelajaran

 Bahasa Indonesia