Pengenalan

Aspose.Slides FOSS for Java kini tersedia di Maven Central: perpustakaan percuma berlesen MIT untuk mencipta, membaca, dan menyunting fail PowerPoint .pptx sepenuhnya dalam Java, tanpa kebergantungan pada Microsoft Office atau mana-mana runtime proprietari.

Perpustakaan ini direka untuk pembangun yang perlu menjana atau memanipulasi fail persembahan secara programatik: mengautomasi dek slaid daripada data, mengekstrak teks dan metadata daripada fail PPTX yang dimuat naik, membina paip laporan berasaskan persembahan, atau menyematkan penciptaan persembahan ke dalam aplikasi Spring Boot. Oleh kerana aspose-slides-foss adalah Java tulen, ia dipasang secara serupa pada Windows, macOS, Linux, dan kontena Docker.

Ciri-ciri Utama

  • Sokongan PPTX pusingan penuh: Buka mana-mana fail .pptx, ubah kandungannya, dan simpan semula tanpa kehilangan bahagian XML yang tidak diketahui yang belum difahami oleh perpustakaan.
  • Pengurusan slaid: Tambah, buang, dan ulangi slaid menggunakan prs.getSlides(); persembahan bermula dengan satu slaid kosong selepas new Presentation().
  • AutoShapes, Jadual, dan Penyambung: Sisipkan bentuk melalui slide.getShapes().addAutoShape(), data tabular melalui slide.getShapes().addTable(), dan penyambung visual antara bentuk melalui slide.getShapes().addConnector().
  • Pemformatan teks kaya: Format teks pada peringkat aksara dengan PortionFormat: saiz fon, tebal, condong, garis bawah, dan warna ARGB melalui FillType.SOLID dan ColorFormat.
  • Jenis isian: Terapkan isian FillType.SOLID, GRADIENT, PATTERN, atau PICTURE pada mana-mana bentuk.
  • Kesan visual: Bayang luar, cahaya, tepi lembut, kabur, pantulan, dan bayang dalam melalui shape.getEffectFormat().
  • Pemformatan 3D: Bevel, kamera, rig cahaya, bahan, dan kedalaman ekstrusi melalui shape.getThreeDFormat().
  • Nota pembicara: Lampirkan teks nota kepada setiap slaid melalui getNotesSlideManager().addNotesSlide().
  • Komen berutas: Tambah komen dengan metadata pengarang dan kedudukan slaid.
  • Imej terbenam: Benamkan dari laluan fail, bait, atau InputStream.
  • Sifat dokumen: Baca dan tulis sifat teras, aplikasi, dan sifat suai.

Mula

Tambah kebergantungan Maven. Java 21 atau lebih baru diperlukan.

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

Buat persembahan pertama anda dengan bentuk dan simpan ia:

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

Sentiasa gunakan Presentation di dalam blok try-with-resources; ini memastikan semua sumber dalaman dibebaskan apabila blok tersebut keluar.

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

Keterbatasan Semasa

Kawasan berikut menghasilkan UnsupportedOperationException dalam keluaran ini:

  • Carta, SmartArt, dan objek OLE
  • Animasi dan peralihan slaid
  • Eksport ke PDF, HTML, SVG, atau format imej
  • Pautan hiper, tetapan tindakan, makro VBA, dan tandatangan digital

Bahagian XML yang tidak dikenali yang ditemui semasa pemuatan dipelihara secara verbatim semasa penyimpanan, jadi fail PPTX yang dihasilkan oleh alat lain dapat melakukan pusingan balik dengan selamat.

Lihat Juga