Einleitung

Aspose.Slides FOSS for Python is now available on PyPI: a free, MIT-licensed library for creating, reading, and editing 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: automatisierte Folienpräsentationen aus Daten erstellen, Text und Metadaten aus hochgeladenen PPTX‑Dateien extrahieren, berichtsgesteuerte Pipelines auf Basis von Präsentationen aufbauen oder die Erstellung von Präsentationen in Webanwendungen einbetten. Da aspose-slides-foss ist reines Python mit nur lxml als Abhängigkeit, wird es identisch auf Windows, macOS, Linux und Docker‑Containern bereitgestellt.

Wichtige Funktionen

  • Vollständige Round‑Trip‑Unterstützung für PPTX: Öffne jede .pptx Datei, ändere ihren Inhalt und speichere sie wieder, ohne unbekannte XML‑Teile zu verlieren, die die Bibliothek noch nicht versteht.
  • Folienverwaltung: Hinzufügen, Entfernen und Durchlaufen von Folien mit prs.slides; die Präsentation beginnt nach slides.Presentation().
  • AutoShapes, Tabellen und Verbinder: Formen einfügen über slide.shapes.add_auto_shape(),: tabellarische Daten über slide.shapes.add_table(),: und visuelle Verbinder zwischen Formen über slide.shapes.add_connector().
  • Rich-Text-Formatierung: Text auf Zeichenebene formatieren mit PortionFormat: Schriftgröße, Fett, Kursiv, Unterstreichen und ARGB-Farbe über FillType.SOLID und Color.from_argb().
  • 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.effect_format.
  • 3D formatting: Abschrägung, Kamera, Lichtanlage, Material und Extrusionstiefe über shape.three_d_format.
  • Sprecher-Notizen: Notiztext an jede Folie anhängen über notes_slide_manager.add_notes_slide().
  • Verkettete Kommentare: Kommentare mit Autor-Metadaten und Folienposition hinzufügen.
  • Eingebettete Bilder: Einbetten von Dateipfad, Bytes oder io.BytesIO Stream.
  • Dokumenteigenschaften: Lese und schreibe Kern-, App- und benutzerdefinierte Eigenschaften.

Erste Schritte

Installieren Sie von PyPI. 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 aus NotImplementedError 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