Το Aspose.Slides FOSS for Java είναι μια βιβλιοθήκη καθαρά Java αδειοδοτημένη με MIT για εργασία με αρχεία PowerPoint .pptx. Προσθέστε μια μόνο εξάρτηση Maven και ξεκινήστε αμέσως τη δημιουργία, ανάγνωση και επεξεργασία παρουσιάσεων χωρίς την εγκατάσταση του Microsoft Office ή οποιουδήποτε ιδιόκτητου χρόνου εκτέλεσης.
Η βιβλιοθήκη εκθέτει ένα API Παρουσίασης χτισμένο γύρω από τα Presentation, Slide, Shape, TextFrame, Paragraph και Portion, το εννοιολογικό μοντέλο που χρησιμοποιεί το ίδιο το PowerPoint. Προσθέστε και αφαιρέστε διαφάνειες, εισάγετε AutoShapes, Πίνακες και Συνδέσμους, μορφοποιήστε κείμενο σε επίπεδο χαρακτήρα με έντονη, πλάγια, μέγεθος γραμματοσειράς και χρώμα, εφαρμόστε συμπαγείς ή διαβαθμισμένες γεμίσεις και προσθέστε οπτικά εφέ (σκιά, λάμψη, θόλωση, αντανάκλαση).
Η κλάση Presentation υλοποιεί το AutoCloseable, επομένως χρησιμοποιήστε try-with-resources για αξιόπιστο καθαρισμό. Άγνωστα τμήματα XML που εντοπίζονται κατά τη φόρτωση διατηρούνται ακριβώς όπως είναι κατά την αποθήκευση, έτσι η κυκλική μετατροπή δεν καταστρέφει ποτέ περιεχόμενο που η βιβλιοθήκη δεν καταλαβαίνει ακόμη. Η βιβλιοθήκη απαιτεί JDK 21 ή νεότερο και δεν έχει εγγενείς επεκτάσεις για μεταγλώττιση.
.pptx files via new Presentation() or new Presentation(path).SlideCollection with addClone(), addEmptySlide(), remove(), and removeAt().ShapeType geometries via addAutoShape().addConnector().NotesSlideManager.getSlideComments().Portion objects via getPortionFormat().getFillFormat() and FillType.getEffectFormat().getParagraphFormat().setAlignment().Aspose.Slides FOSS installs with a single Maven dependency (org.aspose.slides.foss:aspose-slides-foss). The library is pure Java with no native extensions to compile and no system packages to install.
The API mirrors PowerPoint’s own object model (Presentation, Slide, Shape, TextFrame, Paragraph, Portion), so anyone familiar with the PowerPoint object model can use the library immediately. It is MIT-licensed, open-source on GitHub, and requires JDK 21 or later.
Use try-with-resources to ensure the Presentation is always closed and resources are freed. addAutoShape() takes a ShapeType enum, then x/y position and width/height in points. Call addTextFrame() to create the text frame and set the initial text in one call — do not call getTextFrame() before addTextFrame() as the frame is null until created.
<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");
}
Text formatting works at the Portion level — the smallest unit of a run of characters. Open the saved file, navigate to the first portion of the first paragraph, and set font properties via getters and setters. Shape fill is independent: set FillType to SOLID and assign a color via getSolidFillColor().setColor().
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;
try (Presentation prs = new Presentation("output.pptx")) {
IShape shape = 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");
}
It is a free, MIT-licensed pure-Java library for creating, reading, and editing PowerPoint .pptx presentations without requiring Microsoft Office.
PPTX is the supported read/write format. Export to PDF, HTML, SVG, or images is not available in this edition.
No. Aspose.Slides FOSS is a pure-Java library with no dependency on Microsoft Office, COM automation, or any proprietary runtime.
Add the Maven dependency org.aspose.slides.foss:aspose-slides-foss:1.0.0 to your project. No additional system packages or native extensions are required. JDK 21 or later is required.
Yes. The library supports outer shadow, glow, blur, and reflection effects on any shape object via the EffectFormat API.
Yes. Presentation implements AutoCloseable, so always use try (Presentation prs = new Presentation()) { ... } for reliable resource cleanup.
No. Unknown XML parts encountered during load are preserved verbatim on save, so content the library does not yet understand is never lost.
The library is MIT-licensed and hosted on GitHub. Bug reports and pull requests are welcome.