Pengenalan

Aspose.Slides FOSS for Java is now available on Maven Central: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx fail sepenuhnya dalam Java, tanpa kebergantungan pada Microsoft Office atau mana-mana runtime proprietari.

Pustaka 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. Kerana aspose-slides-foss adalah murni Java, ia dideploy secara serupa pada Windows, macOS, Linux, dan kontena Docker.

Ciri-ciri Utama

  • Sokongan PPTX pusingan penuh: Buka mana-mana .pptx fail, ubah kandungannya, dan simpan semula tanpa kehilangan bahagian XML yang tidak diketahui yang belum difahami oleh pustaka.
  • 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 FillType.SOLID, GRADIENT, PATTERN, atau PICTURE mengisi ke mana-mana bentuk.
  • Kesan visual: Bayang luar, cahaya, tepi lembut, kabur, pantulan, dan bayang dalam melalui shape.getEffectFormat().
  • 3D formatting: Bevel, kamera, rig cahaya, bahan, dan kedalaman ekstrusi melalui shape.getThreeDFormat().
  • Nota pembicara: Lampirkan teks nota ke 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 khusus.

Mula Menggunakan

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>

Cipta persembahan pertama anda dengan satu 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 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");
}

Keterbatasan Semasa

Kawasan berikut melempar 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 diketahui yang ditemui semasa pemuatan dipelihara secara verbatim semasa penyimpanan, jadi fail PPTX yang dihasilkan oleh alat lain dapat melakukan pusingan balik dengan selamat.

juga