Introduzione

Aspose.Slides FOSS for Python is now available on PyPI: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx file interamente in Python, senza dipendenze da Microsoft Office o da alcun runtime proprietario.

La libreria è progettata per gli sviluppatori che hanno bisogno di generare o manipolare file di presentazione in modo programmatico: automatizzare le diapositive a partire dai dati, estrarre testo e metadati da file PPTX caricati, costruire pipeline di reporting basate su presentazioni, o incorporare la creazione di presentazioni nelle applicazioni web. Perché aspose-slides-foss è puro Python con solo lxml come dipendenza, si distribuisce in modo identico su Windows, macOS, Linux e container Docker.

Caratteristiche principali

  • Supporto completo round‑trip per PPTX: Apri qualsiasi .pptx file, modifica il suo contenuto e salvalo nuovamente senza perdere parti XML sconosciute che la libreria non comprende ancora.
  • Gestione delle diapositive: Aggiungi, rimuovi e itera le diapositive usando prs.slides; la presentazione inizia con una diapositiva vuota dopo slides.Presentation().
  • AutoForme, Tabelle e Connettori: Inserisci forme tramite slide.shapes.add_auto_shape(), dati tabulari tramite slide.shapes.add_table(), e connettori visivi tra forme tramite slide.shapes.add_connector().
  • Formattazione di testo avanzata: Formatta il testo a livello di carattere con PortionFormat: dimensione del carattere, grassetto, corsivo, sottolineato e colore ARGB tramite FillType.SOLID e Color.from_argb().
  • Tipi di riempimento: Applica FillType.SOLID, GRADIENT, PATTERN, o PICTURE riempie qualsiasi forma.
  • Effetti visivi: Ombra esterna, bagliore, bordo morbido, sfocatura, riflessione e ombra interna tramite shape.effect_format.
  • 3D formatting: Smussatura, fotocamera, impianto di luci, materiale e profondità di estrusione tramite shape.three_d_format.
  • Note del relatore: Allega il testo delle note a ogni diapositiva tramite notes_slide_manager.add_notes_slide().
  • Commenti in thread: Aggiungi commenti con metadati dell’autore e posizione della diapositiva.
  • Immagini incorporate: Incorpora da percorso file, byte o io.BytesIO flusso.
  • Proprietà del documento: Leggi e scrivi proprietà core, app e personalizzate.

Iniziare

Installa da PyPI. Python 3.10 o successivo è richiesto; lxml viene installato automaticamente.

pip install aspose-slides-foss

Crea la tua prima presentazione con una forma e salvala:

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)

Usa sempre Presentation all’interno di un with blocco; ciò garantisce che tutte le risorse interne vengano rilasciate quando il blocco termina.

Esempio di formattazione del testo

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)

Limitazioni attuali

Le seguenti aree sollevano NotImplementedError in questa versione:

  • Grafici, SmartArt e oggetti OLE
  • Animazioni e transizioni delle diapositive
  • Esporta in PDF, HTML, SVG o formati immagine
  • Collegamenti ipertestuali, impostazioni di azione, macro VBA e firme digitali

Le parti XML sconosciute incontrate durante il caricamento vengono preservate alla lettera al salvataggio, così i file PPTX prodotti da altri strumenti possono essere riutilizzati in modo sicuro.

Vedi anche