Einleitung

Aspose.Slides FOSS für Python ist jetzt auf PyPI verfügbar: eine kostenlose, MIT‑lizenzierte Bibliothek zum Erstellen, Lesen und Bearbeiten von PowerPoint .pptx‑Dateien vollständig in Python, 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 Webanwendungen. Da aspose-slides-foss reines Python ist und nur lxml als Abhängigkeit hat, wird es identisch auf Windows, macOS, Linux und Docker‑Containern bereitgestellt.

Hauptfunktionen

  • Vollständige Round-Trip PPTX-Unterstützung: Ö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: Fügen Sie Folien hinzu, entfernen Sie sie und iterieren Sie über Folien mit prs.slides; die Präsentation beginnt mit einer leeren Folie nach slides.Presentation().
  • AutoShapes, Tabellen und Verbinder: Fügen Sie Formen über slide.shapes.add_auto_shape() ein, tabellarische Daten über slide.shapes.add_table() und visuelle Verbinder zwischen Formen über slide.shapes.add_connector().
  • Rich-Text-Formatierung: Formatieren Sie Text auf Zeichenebene mit PortionFormat: Schriftgröße, Fett, Kursiv, Unterstreichen und ARGB-Farbe über FillType.SOLID und Color.from_argb().
  • Fülltypen: Wenden Sie FillType.SOLID-, GRADIENT-, PATTERN- oder PICTURE-Füllungen auf jede Form an.
  • Visuelle Effekte: Äußerer Schatten, Leuchten, weiche Kante, Unschärfe, Spiegelung und innerer Schatten über shape.effect_format.
  • 3D-Formatierung: Abschrägung, Kamera, Lichtanlage, Material und Extrusionstiefe über shape.three_d_format.
  • Referenten-Notizen: Fügen Sie jedem Folie Notiztext über notes_slide_manager.add_notes_slide() hinzu.
  • Threaded Kommentare: Kommentare mit Autor-Metadaten und Folienposition hinzufügen.
  • Eingebettete Bilder: Einbetten aus Dateipfad, Bytes oder io.BytesIO-Stream.
  • Dokumenteigenschaften: Kern-, App- und benutzerdefinierte Eigenschaften lesen und schreiben.

Erste Schritte

Von PyPI installieren. Python 3.10 oder höher ist erforderlich; lxml wird automatisch installiert.

pip install aspose-slides-foss

Erstellen Sie Ihre erste Präsentation mit einer Form und speichern Sie sie:

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
from aspose.slides_foss import ShapeType

with slides.Presentation() as prs:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 400, 120)
    shape.add_text_frame("Hello from Aspose.Slides FOSS!")
    prs.save("hello.pptx", SaveFormat.PPTX)

Verwenden Sie immer Presentation innerhalb eines with‑Blocks; dies stellt sicher, dass alle internen Ressourcen freigegeben werden, wenn der Block beendet wird.

Beispiel für Textformatierung

import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, NullableBool, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    shape = prs.slides[0].shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
    tf = shape.add_text_frame("Bold heading in corporate blue")
    fmt = tf.paragraphs[0].portions[0].portion_format
    fmt.font_height = 28
    fmt.font_bold = NullableBool.TRUE
    fmt.fill_format.fill_type = FillType.SOLID
    fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 70, 127)
    prs.save("formatted.pptx", SaveFormat.PPTX)

Aktuelle Einschränkungen

Die folgenden Bereiche lösen NotImplementedError in dieser Version aus:

  • 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