Introduzione
Aspose.Slides FOSS for Python è ora disponibile su PyPI: una libreria gratuita, con licenza MIT, per creare, leggere e modificare file PowerPoint .pptx interamente in Python, senza dipendenza 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 deck di diapositive 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. Poiché aspose-slides-foss è puro Python con solo lxml come dipendenza, si distribuisce identicamente su Windows, macOS, Linux e container Docker.
Caratteristiche principali
- Supporto completo round‑trip PPTX: Apri qualsiasi file
.pptx, modifica il suo contenuto e salvalo nuovamente senza perdere le 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 doposlides.Presentation(). - AutoShape, Tabelle e Connettori: Inserisci forme tramite
slide.shapes.add_auto_shape(), dati tabulari tramiteslide.shapes.add_table()e connettori visivi tra le forme tramiteslide.shapes.add_connector(). - Formattazione del testo avanzata: Formatta il testo a livello di carattere con
PortionFormat: dimensione del carattere, grassetto, corsivo, sottolineato e colore ARGB tramiteFillType.SOLIDeColor.from_argb(). - Tipi di riempimento: Applica riempimenti
FillType.SOLID,GRADIENT,PATTERNoPICTUREa qualsiasi forma. - Effetti visivi: Ombra esterna, bagliore, bordo morbido, sfocatura, riflessione e ombra interna tramite
shape.effect_format. - Formattazione 3D: Smussatura, telecamera, 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 flusso
io.BytesIO. - Proprietà del documento: Leggi e scrivi le proprietà core, app e personalizzate.
Iniziare
Installa da PyPI. È richiesto Python 3.10 o versioni successive; 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 blocco with; questo 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 generano NotImplementedError in questa versione:
- Grafici, SmartArt e oggetti OLE
- Animazioni e transizioni delle diapositive
- Esportazione 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 verbatim al salvataggio, così i file PPTX prodotti da altri strumenti effettuano un round‑trip in modo sicuro.