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 dopo slides.Presentation().
  • AutoShape, Tabelle e Connettori: Inserisci forme tramite slide.shapes.add_auto_shape(), dati tabulari tramite slide.shapes.add_table() e connettori visivi tra le forme tramite slide.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 tramite FillType.SOLID e Color.from_argb().
  • Tipi di riempimento: Applica riempimenti FillType.SOLID, GRADIENT, PATTERN o PICTURE a 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.

Vedi anche