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 nach new Presentation().
  • Autoformen, Tabellen und Verknüpfungen: fügen Sie Formen über slide.getShapes().addAutoShape(), Tabellen über slide.getShapes().addTable() und visuelle Verknüpfungen zwischen Formen über slide.getShapes().addConnector() ein.
  • Reiche Textformatierung: formatieren Sie Text auf Zeichenebene mit PortionFormat: Schriftgröße, Fettschrift, Kursivschrift, Unterstreichung und ARGB-Farben über FillType.SOLID und ColorFormat.
  • Füllarten: wenden Sie FillType.SOLID, GRADIENT, PATTERN oder PICTURE-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.

Siehe auch