Einleitung

Aspose.Slides FOSS for Java is now available on Maven Central: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx Dateien vollständig in Java, ohne Abhängigkeit von Microsoft Office oder irgendeiner 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, Extrahieren von Text und Metadaten aus hochgeladenen PPTX‑Dateien, Aufbau von berichtsbasierten Präsentations‑Pipelines oder Einbetten der Präsentationserstellung in Spring‑Boot‑Anwendungen. Da aspose-slides-foss ist reines Java, es wird identisch auf Windows, macOS, Linux und Docker‑Containern bereitgestellt.

Wichtige Funktionen

  • Vollständige Round‑Trip‑Unterstützung für PPTX: Öffnen Sie jede .pptx Datei, ändern Sie deren Inhalt und speichern Sie sie wieder, ohne unbekannte XML‑Teile zu verlieren, die die Bibliothek noch nicht versteht.
  • Folienverwaltung: Hinzufügen, Entfernen und Durchlaufen von Folien mit prs.getSlides(); die Präsentation beginnt nach dem mit einer leeren Folie new Presentation().
  • AutoShapes, Tabellen und Verbinder: Formen einfügen über slide.getShapes().addAutoShape(), tabellarische Daten über slide.getShapes().addTable(), und visuelle Verbinder zwischen Formen über slide.getShapes().addConnector().
  • Rich-Text-Formatierung: Formatiere Text auf Zeichenebene mit PortionFormat: Schriftgröße, Fett, Kursiv, Unterstreichen und ARGB-Farbe über FillType.SOLID und ColorFormat.
  • Fülltypen: Anwenden FillType.SOLID, GRADIENT, PATTERN, oder PICTURE Füllungen auf jede Form.
  • Visuelle Effekte: Außenschatten, Leuchten, weiche Kante, Unschärfe, Spiegelung und Innenschatten über shape.getEffectFormat().
  • 3D formatting: Fase, Kamera, Licht‑Rig, Material und Extrusionstiefe über shape.getThreeDFormat().
  • Sprecher-Notizen: Notiztext an jede Folie anhängen über getNotesSlideManager().addNotesSlide().
  • Verkettete Kommentare: Kommentare mit Autor‑Metadaten und Folienposition hinzufügen.
  • Eingebettete Bilder: Einbetten von Dateipfad, Bytes oder InputStream.
  • Dokumenteigenschaften: Kern‑, App‑ und benutzerdefinierte Eigenschaften lesen und schreiben.

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

Immer verwenden 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
  • Exportieren zu 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 von anderen Tools erzeugt wurden, sicher round‑trip‑fähig sind.

Siehe auch