Introducció
Aspose.Slides FOSS for Python is now available on PyPI: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx Els fitxers estan totalment en Python, sense dependència de Microsoft Office o qualsevol temps d’execució propietari.
La biblioteca està dissenyada per a desenvolupadors que necessiten generar o manipular fitxers de presentació programàticament: automatizar diapositives des de dades, extraure text i metadades dels arxius PPTX carregats, construir pipelines d’informes basades en presentacions o incrustar la creació de representacions en aplicacions web. aspose-slides-foss és Python pur amb només lxml com a dependència, es desplega idènticament en Windows, macOS, Linux i contenidors Docker.
Característiques clau
- Suport PPTX complet d’anar i venir:Obre qualsevol:
.pptxarxiu, modificar el seu contingut i guardar-lo de nou sense perdre parts XML desconegudes que la biblioteca encara no entén. - Gestió de diapositives: Agregar, eliminar i iterar diapositives utilitzant
prs.slides;La presentació comença amb una diapositiva en blanc després de:slides.Presentation(). - AutoShapes, taules i connectors: Insertar formes a través de:
slide.shapes.add_auto_shape(), dades tabulars viaslide.shapes.add_table(), i connectors visuals entre formes a través deslide.shapes.add_connector(). - Formateig de text enriqueixut: Formatar text a nivell de caràcters amb:
PortionFormat: mida de font, en negrit, cursiva, sota l’índex i color ARGB viaFillType.SOLIDi de laColor.from_argb(). - Tipus de rellotge: Aplicar
FillType.SOLID,GRADIENT,PATTERN, oPICTUREs’omple a qualsevol forma. - Efectes visuals: Ombre exterior, brillantor, bord suau, desfoc, reflexió i ombra interior via
shape.effect_format. - 3D formatting: Bevel, càmera, plataforma de llum, material i profunditat d’extrusió via
shape.three_d_format. - Notes de l’alfabet: Ajuntar text de les notes a cada diapositiva via
notes_slide_manager.add_notes_slide(). - Comentaris en línia: Agregar comentaris amb metadades de l’autor i posició de diapositives.
- Imatges incrustades: Embed des de la ruta del fitxer, dels bytes o
io.BytesIOCorrent. - Propietats del document: Llegir i escriure propietats de nucli, aplicacions i personalitzades.
Com començar a treballar
Instal·lar des de PyPI. Python 3.10 o més recent és necessari; lxml s’instal·la automàticament.
pip install aspose-slides-foss
Crea la teva primera presentació amb una forma i guarda-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)
Utilitzar sempre: Presentation dins d’un with bloqueig; això assegura que tots els recursos interns es lliuren quan el bloc surt.
Exemple de formatatge del 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
Els següents àmbits plantegen: NotImplementedError en aquesta publicació:
- Gràfics, SmartArt i objectes OLE
- Animacions i transicions de diapositives
- Exportació a formats PDF, HTML, SVG o d’imatge
- Hipervincles, configuracions d’acció, màcrores VBA i signatures digitals
Les parts XML desconegudes que es troben durant la càrrega s’preserven literalment en l’enregistrament, de manera que els arxius PPTX produïts per altres eines poden anar i venir amb seguretat.