Introducció

Aspose.Slides FOSS for Python ja està disponible a PyPI: una biblioteca gratuïta, amb llicència MIT, per crear, llegir i editar fitxers PowerPoint .pptx completament en Python, sense dependència de Microsoft Office ni cap entorn d’execució propietari.

La biblioteca està dissenyada per a desenvolupadors que necessiten generar o manipular fitxers de presentació de manera programàtica: automatitzar presentacions a partir de dades, extreure text i metadades dels fitxers PPTX pujats, construir canals de reportatge basats en presentacions o incrustar la creació de presentacions en aplicacions web. Com que aspose-slides-foss és pur Python amb només lxml com a dependència, es desplega de manera idèntica a Windows, macOS, Linux i contenidors Docker.

Característiques clau

  • Suport complet de viatge d’anada i tornada PPTX: Obre qualsevol fitxer .pptx, modifica’n el contingut i desa’l de nou sense perdre les parts XML desconegudes que la biblioteca encara no entén.
  • Gestió de diapositives: Afegeix, elimina i itera diapositives mitjançant prs.slides; la presentació comença amb una diapositiva en blanc després de slides.Presentation().
  • AutoShapes, taules i connectors: Insereix formes mitjançant slide.shapes.add_auto_shape(), dades tabulars mitjançant slide.shapes.add_table() i connectors visuals entre formes mitjançant slide.shapes.add_connector().
  • Format de text enriquit: Formata el text a nivell de caràcter amb PortionFormat: mida de la lletra, negreta, cursiva, subratllat i color ARGB mitjançant FillType.SOLID i Color.from_argb().
  • Tipus d’emplenament: Aplica emplenaments FillType.SOLID, GRADIENT, PATTERN o PICTURE a qualsevol forma.
  • Efectes visuals: Ombra externa, resplendor, vora suau, difuminat, reflex i ombra interna mitjançant shape.effect_format.
  • Format 3D: Bisell, càmera, equip de llum, material i profunditat d’extrusió mitjançant shape.three_d_format.
  • Notes del presentador: Adjunta text de notes a cada diapositiva mitjançant notes_slide_manager.add_notes_slide().
  • Comentaris en fil: Afegeix comentaris amb metadades d’autor i posició de la diapositiva.
  • Imatges incrustades: Incrusta des del camí del fitxer, bytes o flux io.BytesIO.
  • Propietats del document: Llegeix i escriu propietats bàsiques, d’aplicació i personalitzades.

Començar

Instal·la des de PyPI. Es requereix Python 3.10 o posterior; lxml s’instal·la automàticament.

pip install aspose-slides-foss

Creeu la vostra primera presentació amb una forma i deseu-la:

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)

Sempre utilitzeu Presentation dins d’un bloc with; això assegura que tots els recursos interns es alliberen quan el bloc surt.

Exemple de formatatge de text

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)

Limitacions actuals

Les àrees següents generen NotImplementedError en aquesta versió:

  • Gràfics, SmartArt i objectes OLE
  • Animacions i transicions de diapositives
  • Exportació a PDF, HTML, SVG o formats d’imatge
  • Enllaços, configuracions d’acció, macros VBA i signatures digitals

Les parts XML desconegudes trobades durant la càrrega es conserven literalment en desar, de manera que els fitxers PPTX produïts per altres eines es tornen a processar de manera segura.

Vegeu també