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 deslides.Presentation(). - AutoShapes, taules i connectors: Insereix formes mitjançant
slide.shapes.add_auto_shape(), dades tabulars mitjançantslide.shapes.add_table()i connectors visuals entre formes mitjançantslide.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çantFillType.SOLIDiColor.from_argb(). - Tipus d’emplenament: Aplica emplenaments
FillType.SOLID,GRADIENT,PATTERNoPICTUREa 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.