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: .pptx arxiu, 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 via slide.shapes.add_table(), i connectors visuals entre formes a través de slide.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 via FillType.SOLID i de la Color.from_argb().
  • Tipus de rellotge: Aplicar FillType.SOLID, GRADIENT, PATTERN, o PICTURE s’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.BytesIO Corrent.
  • 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.

Veure també