Einleitung
Aspose.Slides FOSS für Java ist jetzt im Maven Central verfügbar: eine kostenlose, MIT‑lizenzierte Bibliothek zum Erstellen, Lesen und Bearbeiten von PowerPoint .pptx‑Dateien vollständig in Java, ohne Abhängigkeit von Microsoft Office oder einer proprietären Laufzeit.
Die Bibliothek ist für Entwickler konzipiert, die Präsentationsdateien programmgesteuert erzeugen oder manipulieren müssen: Automatisierung von Folienpräsentationen aus Daten, Extraktion von Text und Metadaten aus hochgeladenen PPTX‑Dateien, Aufbau von präsentationsbasierten Reporting‑Pipelines oder Einbettung der Präsentationserstellung in Spring Boot‑Anwendungen. Da aspose-slides-foss reines Java ist, wird sie identisch auf Windows, macOS, Linux und Docker‑Containern bereitgestellt.
Hauptmerkmale
- Volumeneinsatz: Offen Sie jedes
.pptx-Datei, ändern Sie ihren Inhalt und speichern Sie sie ohne Datenverlust, die die Bibliothek noch nicht verstehen. - Präsentationsverwaltung: fügen Sie, entfernen und iterieren Sie über Folien mit
prs.getSlides(); die Präsentation beginnt mit einer leeren Folie nachnew Presentation(). - Autoformen, Tabellen und Verknüpfungen: fügen Sie Formen über
slide.getShapes().addAutoShape(), Tabellen überslide.getShapes().addTable()und visuelle Verknüpfungen zwischen Formen überslide.getShapes().addConnector()ein. - Reiche Textformatierung: formatieren Sie Text auf Zeichenebene mit
PortionFormat: Schriftgröße, Fettschrift, Kursivschrift, Unterstreichung und ARGB-Farben überFillType.SOLIDundColorFormat. - Füllarten: wenden Sie
FillType.SOLID,GRADIENT,PATTERNoderPICTURE-Füllungen auf jede Form an. - Visuelle Effekte: äußere Schatten, Glänze, weiche Kanten, Verfocusung, Reflexion und innere Schatten über
shape.getEffectFormat(). - 3D-Formatierung: Bevel, Kamera, Lichtanlage, Material und Extrusionstiefe über
shape.getThreeDFormat(). - Sprechernotizen: fügen Sie Notizentext zu jeder Folie über
getNotesSlideManager().addNotesSlide(). - Threaded-Kommentare: fügen Sie Kommentare mit Autormetadaten und Folienposition hinzu.
- Eingebettete Bilder: Einbetten Sie aus Dateipfad, Bytes oder
InputStream. - Dokumenten属性: Lesen Sie und schreiben Sie Kern-, App- und benutzerdefinierte Eigenschaften.
Erste Schritte
Fügen Sie die Maven‑Abhängigkeit hinzu. Java 21 oder höher ist erforderlich.
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>
Erstellen Sie Ihre erste Präsentation mit einer Form und speichern Sie sie:
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");
}
}
}
Verwenden Sie immer Presentation innerhalb eines try-with-resources-Blocks; dies stellt sicher, dass alle internen Ressourcen freigegeben werden, wenn der Block beendet wird.
Beispiel für Textformatierung
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");
}
Aktuelle Einschränkungen
Die folgenden Bereiche werfen UnsupportedOperationException in dieser Version:
- Diagramme, SmartArt und OLE‑Objekte
- Animationen und Folienübergänge
- Export nach PDF, HTML, SVG oder Bildformaten
- Hyperlinks, Aktions‑Einstellungen, VBA‑Makros und digitale Signaturen
Unbekannte XML-Teile, die beim Laden gefunden werden, bleiben beim Speichern unverändert erhalten, sodass PPTX-Dateien, die mit anderen Tools erstellt wurden, sicher round‑trip‑fähig sind.