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

Aspose.Slides FOSS untuk Java

Buat, baca, dan sunting persembahan PowerPoint dari Java — percuma dan sumber terbuka, tidak memerlukan kebergantungan Office.

Perpustakaan Java Sumber Terbuka untuk Persembahan PowerPoint

Aspose.Slides FOSS untuk Java adalah perpustakaan pure-Java berlesen MIT untuk bekerja dengan fail .pptx PowerPoint. Tambahkan satu kebergantungan Maven dan terus mula mencipta, membaca, dan menyunting persembahan tanpa memasang Microsoft Office atau mana-mana runtime proprietari.

Perpustakaan ini mendedahkan API Persembahan yang dibina di sekitar Presentation, Slide, Shape, TextFrame, Paragraph, dan Portion, model konseptual yang digunakan oleh PowerPoint itu sendiri. Tambah dan buang slaid, sisipkan AutoShapes, Tables, dan Connectors, formatkan teks pada peringkat aksara dengan tebal, condong, saiz fon dan warna, gunakan isian pepejal atau gradien, dan tambahkan kesan visual (bayang, cahaya, kabur, pantulan).

Kelas Presentation melaksanakan AutoCloseable, jadi gunakan try-with-resources untuk pembersihan yang boleh dipercayai. Bahagian XML yang tidak diketahui yang ditemui semasa pemuatan dipelihara secara verbatim semasa penyimpanan, jadi round-tripping tidak pernah memusnahkan kandungan yang belum difahami oleh perpustakaan. Untuk ciri tambahan dan sokongan, lihat Aspose.Slides for Java enterprise edition.

API Persembahan dan Slaid

  • Buat dan buka PPTX: Buat persembahan baru atau buka fail .pptx sedia ada melalui new Presentation() atau new Presentation(path).
  • Tambah dan buang slaid: Urus secara programatik SlideCollection dengan addClone(), addEmptySlide(), remove(), dan removeAt().
  • AutoShapes: Masukkan segi empat tepat, elips, garis, dan geometri ShapeType lain melalui addAutoShape().
  • Jadual dan Penyambung: Tambah bentuk jadual berstruktur dan garis penyambung antara bentuk melalui addConnector().
  • Nota pembicara: Baca dan tulis nota pembicara per-slaid melalui NotesSlideManager.
  • Komen berutas: Akses thread komen per-slaid dengan getSlideComments().

Di mana Aspose.Slides FOSS boleh digunakan

  • Report generation: Bina dek slaid berjenama daripada sumber data tanpa Office.
  • Automasi templat: Isi templat PPTX dengan kandungan dinamik dalam pipeline CI/CD.
  • Migrasi kandungan: Baca persembahan sedia ada dan susun semula atau ubah gaya slaid.
  • Serverless backends: Proses fail PPTX di dalam kontena Docker atau fungsi Lambda.
  • Batch processing: Terapkan perubahan pemformatan seragam pada perpustakaan dek slaid yang besar.

Pemformatan Teks dan Kesan Visual

  • Pemformatan peringkat aksara: Terapkan tebal, condong, saiz fon, dan warna kepada objek Portion individu melalui getPortionFormat().
  • Solid and gradient fills: Tetapkan isian bentuk kepada warna pepejal atau gradien linear berbilang henti menggunakan getFillFormat() dan FillType.
  • Kesan bayang dan cahaya: Gunakan bayang luar, cahaya, kabur, dan pantulan pada mana-mana bentuk melalui getEffectFormat().
  • Penjajaran perenggan: Tetapkan penjajaran kiri, tengah, kanan, atau justifikasi per perenggan menggunakan getParagraphFormat().setAlignment().
  • Round-trip safe: Bahagian XML yang tidak diketahui dipelihara secara verbatim semasa menyimpan semula.

Pengalaman Pembangun

Aspose.Slides FOSS dipasang dengan satu kebergantungan Maven (org.aspose.slides.foss:aspose-slides-foss). Perpustakaan ini adalah Java tulen tanpa sambungan asli untuk disusun dan tanpa pakej sistem untuk dipasang.

API meniru model objek PowerPoint sendiri (Presentation, Slide, Shape, TextFrame, Paragraph, Portion), jadi sesiapa yang biasa dengan model objek PowerPoint boleh menggunakan perpustakaan ini serta-merta. Ia berlesen MIT, sumber terbuka di GitHub, dan memerlukan JDK 21 atau lebih baru.

Buat Persembahan dan Tambah Bentuk

Gunakan try-with-resources untuk memastikan Presentation sentiasa ditutup dan sumber dibebaskan. addAutoShape() mengambil enum ShapeType, kemudian kedudukan x/y dan lebar/tinggi dalam titik. Panggil addTextFrame() untuk membuat bingkai teks dan menetapkan teks awal dalam satu panggilan — jangan panggil getTextFrame() sebelum addTextFrame() kerana bingkai adalah null sehingga 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>
 

Formatkan Teks dan Terapkan Kesan Isian

Pemformatan teks berfungsi pada tahap Portion — unit terkecil bagi satu rentetan aksara. Buka fail yang disimpan, navigasi ke bahagian pertama perenggan pertama, dan tetapkan sifat fon melalui getter dan setter. Isian bentuk adalah bebas: set FillType kepada 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");
}
 

Soalan Lazim

Apakah Aspose.Slides FOSS untuk Java?

Ia adalah perpustakaan pure-Java yang percuma, berlesen MIT untuk mencipta, membaca, dan menyunting persembahan PowerPoint .pptx tanpa memerlukan Microsoft Office.

Format fail mana yang disokong?

.pptx ialah format baca/tulis yang disokong. Eksport ke PDF, HTML, SVG, atau imej tidak tersedia dalam edisi ini.

Adakah ia memerlukan Microsoft Office atau PowerPoint?

Tidak. Aspose.Slides FOSS ialah perpustakaan pure-Java tanpa kebergantungan pada Microsoft Office, automasi COM, atau mana-mana runtime proprietari.

Bagaimana saya memasangnya?

Tambah kebergantungan Maven org.aspose.slides.foss:aspose-slides-foss:1.0.0 ke projek anda. Tiada pakej sistem tambahan atau sambungan asli diperlukan. JDK 21 atau lebih baru diperlukan.

Bolehkah saya menerapkan kesan visual seperti bayang dan cahaya?

Ya. Perpustakaan menyokong kesan bayang luar, cahaya, kabur, dan pantulan pada mana-mana objek bentuk melalui API EffectFormat.

Adakah corak try-with-resources disyorkan?

Ya. Presentation melaksanakan AutoCloseable, jadi sentiasa gunakan try (Presentation prs = new Presentation()) { ... } untuk pembersihan sumber yang boleh dipercayai.

Adakah melakukan round-tripping pada PPTX akan memusnahkan kandungan yang tidak diketahui?

Tidak. Bahagian XML yang tidak diketahui yang ditemui semasa pemuatan dipelihara secara verbatim semasa penyimpanan, jadi kandungan yang belum difahami oleh perpustakaan tidak pernah hilang.

Di mana saya boleh menemui kod sumber?

Perpustakaan ini berlesen MIT dan dihoskan di GitHub. Laporan pepijat dan permintaan tarik dialu-alukan.

  

Sokongan dan Sumber Pembelajaran

 Bahasa Melayu