Pengantar

Aspose.Slides FOSS for Java is a free, open-source library that lets Java developers create and manipulate PowerPoint presentations without any dependency on Microsoft Office. The library ships under the org.aspose.slides.foss paket dan target Java 21 ke atas.

Proyek ini dirilis di bawah lisensi MIT, sehingga Anda dapat menggunakannya dalam proyek pribadi dan komersial tanpa biaya dan tanpa kunci API. Ini menyediakan model objek yang kaya untuk slide, bentuk, teks, tabel, gambar, komentar, dan properti dokumen, didukung oleh manipulasi langsung dari format paket Office Open XML .

Dengan 273 kelas, lebih dari 2.600 metode, dan 42 enumerasi, API inti mencakup blok bangunan yang Anda butuhkan untuk mengotomatiskan alur kerja presentasi dalam aplikasi Java apa pun.


Apa yang Termasuk?

Presentasi Siklus hidup

Pengelolaan Presentation class adalah titik masuk untuk setiap operasi. Anda dapat membuat presentasi kosong dan menyimpan hasil ke disk atau ke sebuah file yang tidak terdaftar di komputer. OutputStream dalam berbagai format. Kelas ini mengimplementasikan AutoCloseable, jadi itu bekerja secara alami dengan mencoba-dengan sumber daya blok.

import org.aspose.slides.foss.*;
import org.aspose.slides.foss.export.SaveFormat;

try (Presentation pres = new Presentation()) {
    // A new presentation starts with one blank slide
    System.out.println("Slides: " + pres.getSlides().size());
    pres.save("output.pptx", SaveFormat.PPTX);
}

Manajemen Slide

SlideCollection memberikan kontrol penuh atas dek slide. Anda dapat menambahkan slides kosong dengan addEmptySlide(), duplikat slide yang ada dengan addClone(), masukkan slide pada indeks tertentu dengan insertEmptySlide(), menghapus slide dengan referensi atau indeks, dan mengulang koleksi.

try (Presentation pres = new Presentation()) {
    ILayoutSlide layout = pres.getLayoutSlides().get(0);
    pres.getSlides().addEmptySlide(layout);
    pres.getSlides().addClone(pres.getSlides().get(0));
    System.out.println("Total slides: " + pres.getSlides().size());
}

Bentuk dan AutoShapes

Pengelolaan AutoShape class mewakili objek yang paling umum digambar pada slide. Anda membuat bentuk melalui IShapeCollection.addAutoShape(), dengan menentukan a ShapeType konstan (seperti ShapeType.RECTANGLE) dan koordinat posisi. AutoShape mengekspor a TextFrame untuk konten teks dan a FillFormat untuk gaya visual.

try (Presentation pres = new Presentation()) {
    ISlide slide = pres.getSlides().get(0);
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 300, 100, false);
    ITextFrame tf = shape.addTextFrame("Hello from Aspose.Slides FOSS");
    System.out.println(tf.getText());
}

Teks dan Paragraf

Teks kaya dimodelkan sebagai hierarki dari: TextFrame, ParagraphCollection, Paragraph, PortionCollection, dan Portion Anda dapat mengatur teks kosong pada frame langsung dengan TextFrame.setText(), atau membuat paragraf multi-run dengan menambahkan individu Portion contoh dengan format yang berbeda.

try (Presentation pres = new Presentation()) {
    ISlide slide = pres.getSlides().get(0);
    IAutoShape shape = slide.getShapes()
        .addAutoShape(ShapeType.RECTANGLE, 50, 50, 400, 100, false);
    ITextFrame tf = shape.addTextFrame("First run ");
    Portion extra = new Portion("second run");
    tf.getParagraphs().get(0).getPortions().add(extra);
    System.out.println(tf.getText());
}

Properti dokumen

Pengelolaan DocumentProperties class mengekspos bidang metadata standar seperti judul, penulis, subjek, kata kunci, kategori, dan tanda waktu. Properti tetap ada di bagian inti PPTX dan properti yang diperluas dan bertahan dari siklus penyimpanan / pemuatan ulang pulang-pergi.

try (Presentation pres = new Presentation()) {
    IDocumentProperties props = pres.getDocumentProperties();
    props.setTitle("Quarterly Report");
    props.setAuthor("Engineering Team");
    pres.save("report.pptx", SaveFormat.PPTX);
}

Komentar dan Anotasi

Subsistem komentar mencakup: CommentAuthorCollection dan (b) CommentCollection.Anda dapat menambahkan penulis, melampirkan komentar pada slide dan posisi tertentu, dan membaca kembali catatan yang ada. Komentar data disimpan di dalam ppt/commentAuthors.xml dan (b) ppt/comments/*.xml bagian dari paket PPTX.


Memulai dengan cepat

Tambahkan ketergantungan Maven ke Anda pom.xml:

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

Kemudian buat dan simpan presentasi:

import org.aspose.slides.foss.*;
import org.aspose.slides.foss.export.SaveFormat;

public class QuickStart {
    public static void main(String[] args) {
        try (Presentation pres = new Presentation()) {
            ISlide slide = pres.getSlides().get(0);

            // Add a title shape
            IAutoShape title = slide.getShapes().addAutoShape(
                ShapeType.RECTANGLE, 50, 30, 600, 60, false);
            title.addTextFrame("Aspose.Slides FOSS for Java");

            // Add a content shape
            IAutoShape body = slide.getShapes().addAutoShape(
                ShapeType.RECTANGLE, 50, 120, 600, 300, false);
            body.addTextFrame(
                "This presentation was created entirely in Java "
                + "using a free, open-source library.");

            pres.save("quick-start.pptx", SaveFormat.PPTX);
        }
    }
}

Format yang Didhukung

Pengelolaan SaveFormat Enumeration mendefinisikan setiap format output yang dapat ditulis perpustakaan. Tabel di bawah ini mencantumkan entri yang dikonfirmasi.

Format (Inggris)PerpanjanganMenulis
PPTX.pptx (dalam bahasa Inggris)Ya, aku tahu.
PPTM.pptmDianjurkan
PPSX.ppsx (dalam bahasa Inggris)Dianjurkan
PPSM.ppsmDianjurkan
POTX.potxDianjurkan
POTM.potmDianjurkan
ODP.odpDianjurkan
OTP.otpDianjurkan
FODP.fodpDianjurkan
PPT.pptDianjurkan
PPS.ppsDianjurkan
POT.potDianjurkan
PDF.pdf (dalam bahasa Inggris)Dianjurkan
XPS.xpsDianjurkan
HTML.html (dalam bahasa Inggris)Dianjurkan
HTML5.html (dalam bahasa Inggris)Dianjurkan
SVG.svgDianjurkan
TIFF. TiffDianjurkan
PNG.pngDianjurkan
JPEG.jpegDianjurkan
BMP.bmpDianjurkan
GIF.gif (berupa gambar)Dianjurkan
MD.mdDianjurkan

Catatan: Saat ini hanya PPTX ekspor yang diimplementasikan. Nilai format lain ada dalam SaveFormat ini untuk kompatibilitas ke depan tetapi belum berfungsi. save() metode selalu menghasilkan output PPTX terlepas dari parameter format.


Open Source & Lisensi

Aspose.Slides FOSS for Java is distributed under the MIT license. The full source code is available on GitHub at Aspose.Slides-FOSS-for-Java.Anda bebas untuk menggunakan, memodifikasi dan mendistribusikan kembali perpustakaan dalam proyek apa pun tanpa royalti atau kunci lisensi.


Memulai

Siap menyelam lebih dalam? Berikut adalah sumber daya untuk membantu Anda memulai: