Introducció

Aspose.Slides FOSS for Python gives you full control over the PowerPoint presentation cicle de vida crear coberts des del zero, afegir i reordenar diapositives, omplir-les amb formes, taules i text formatat, i guardant el resultat en PPTX, ODP, PDF o Tot això succeeix en Python pur sense dependència de la programació. Microsoft Office o qualsevol sistema binari extern.

La biblioteca està disponible en PyPI com a: aspose-slides-foss sota la llicència MIT. Instal·lar amb el pip, importar-lo, i començar a construir presentacions en unes poques línies de codi. estàs automatizant la generació de informes, construint un pipeline d’eslides o incrustant presentació en una aplicació web, l’API cobreix tota la superfície: diapositiva col·leccions, diapositives màsters/de disseny, col•lecció de formes, marcs de text, formats d’ompliment i opcions d’exportació.

Aquest post fa un recorregut a través de les capacitats bàsiques de gestió de presentacions les classes i mètodes que més utilitzaràs quan treballes amb diapositives en Python.


Què inclou?

Presentació Cicle de vida

El Presentation Crear una nova coberta, manipular el seu contingut., les presentacions donen suport al protocol de gestió de contextos, Així que els recursos es lliuren automàticament.

import io
from aspose.slides_foss import Presentation
from aspose.slides_foss.export import SaveFormat

with Presentation() as pres:
    # A new presentation starts with one blank slide
    print("Slides:", len(pres.slides))  # 1

    # Save to a file
    pres.save("output.pptx", SaveFormat.PPTX)

    # Or save to a stream
    buf = io.BytesIO()
    pres.save(buf, SaveFormat.PPTX)

Operacions de recollida d’eslides

SlideCollection permet afegir, inserir i clonar diapositives. Cada diapasó és una versió de la pàgina web que s’utilitza per a crear un nou format d’una diapausa. l’operació actualitza l ‘índex intern de manera que len(pres.slides) sempre reflecteix el el recompte actual.

from aspose.slides_foss import Presentation, ShapeType

with Presentation() as pres:
    layout = pres.layout_slides[0]

    # Add a blank slide using the first layout
    pres.slides.add_empty_slide(layout)

    # Insert at a specific position
    pres.slides.insert_empty_slide(1, layout)

    # Clone an existing slide (shapes are copied)
    pres.slides[0].shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 200, 100)
    pres.slides.add_clone(pres.slides[0])

    print("Total slides:", len(pres.slides))  # 4

    # Remove by index
    pres.slides.remove_at(3)

Formes i AutoFormes

Afegir rectangles, el·lipses, triangals i altres formes geomètriques a qualsevol diapositiva via ShapeCollection.add_auto_shape().Cada forma mostra la posició, mida i rotació., i les propietats de rellotge que persisteixen al llarg dels cicles d’estalvi/recarrega.

from aspose.slides_foss import Presentation, ShapeType

with Presentation() as pres:
    slide = pres.slides[0]
    slide.shapes.clear()

    rect = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 150)
    rect.rotation = 15

    ellipse = slide.shapes.add_auto_shape(ShapeType.ELLIPSE, 400, 50, 200, 200)

    # Reorder z-index
    slide.shapes.reorder(0, ellipse)
    print("Front shape:", slide.shapes[0].shape_type)  # ELLIPSE

Taules

Crear taules de dades amb: ShapeCollection.add_table(), text de cèl·lula via TextFrame, fusionar cèl·lules i aplicar el formatatge de la frontera. Altres columnes i altures de línia Les llargues coincideixen amb els valors que passem al constructor.

from aspose.slides_foss import Presentation, FillType
from aspose.slides_foss.drawing import Color

with Presentation() as pres:
    slide = pres.slides[0]
    slide.shapes.clear()

    table = slide.shapes.add_table(50, 50, [150, 150, 150], [40, 40, 40])
    table.rows[0][0].text_frame.text = "Name"
    table.rows[0][1].text_frame.text = "Role"
    table.rows[0][2].text_frame.text = "Team"

    # Merge two cells in the second row
    table.merge_cells(table.rows[1][0], table.rows[1][1], False)

    # Style the header row borders
    for col_idx in range(len(table.columns)):
        fmt = table.rows[0][col_idx].cell_format
        fmt.border_bottom.fill_format.fill_type = FillType.SOLID
        fmt.border_bottom.fill_format.solid_fill_color.color = Color.black
        fmt.border_bottom.width = 2

Diapositives de disseny i maquetació

Cada presentació té una jerarquia de diapositives mestres i diapasos d’arranjament. Accedeix-hi a través de Presentation.masters i de la Presentation.layout_slides aplicar de manera coherent formatatge a través de la seva plataforma.

from aspose.slides_foss import Presentation

with Presentation() as pres:
    master = pres.masters[0]
    print("Master layouts:", len(master.layout_slides))

    # Pick a layout by type
    from aspose.slides_foss import SlideLayoutType
    title_layout = pres.layout_slides.get_by_type(SlideLayoutType.TITLE)
    if title_layout:
        pres.slides.add_empty_slide(title_layout)

Propietats del document

Llegir i escriure metadades integrades com el títol, l’autor i l ‘assignatura a través de la DocumentProperties object. Les propietats persisteixen en el fitxer guardat.

from aspose.slides_foss import Presentation
from aspose.slides_foss.export import SaveFormat

with Presentation() as pres:
    props = pres.document_properties
    props.title = "Quarterly Report"
    props.author = "Engineering"
    props.subject = "Q1 2026 Results"

    pres.save("report.pptx", SaveFormat.PPTX)

Inici ràpid

pip install aspose-slides-foss
from aspose.slides_foss import Presentation, ShapeType, FillType, NullableBool
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat

with Presentation() as pres:
    slide = pres.slides[0]
    slide.shapes.clear()

    # Add a title shape
    title = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 30, 860, 80)
    tf = title.add_text_frame("Quarterly Report")
    tf.paragraphs[0].portions[0].portion_format.font_bold = NullableBool.TRUE
    tf.paragraphs[0].portions[0].portion_format.font_height = 28

    # Add a data table
    table = slide.shapes.add_table(50, 150, [200, 200, 200], [40, 40, 40])
    headers = ["Region", "Revenue", "Growth"]
    for i, h in enumerate(headers):
        table.rows[0][i].text_frame.text = h

    # Fill the title shape background
    title.fill_format.fill_type = FillType.SOLID
    title.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 51, 102)

    # Save as PPTX
    pres.save("report.pptx", SaveFormat.PPTX)

Formats suportats

Format de la pàginaExtensióLlegeix.Escriure
PPTX.pptx
PPT.pptPlanificat
PPSX.ppsxPlanificat
PPTM.pptmPlanificat
POTX.potxPlanificat
ODP.odpPlanificat
PDF.pdfPlanificat
HTML.htmlPlanificat
HTML5.htmlPlanificat
TIFF.Tif.Planificat
GIF.gifPlanificat
XPS.xpsPlanificat
FODP.fodpPlanificat
MD.mdPlanificat

Nota: Actualment només s’implementa l’exportació PPTX. Existen altres valors de format en el sistema d’impressió i la seva configuració a través del programa de codi. SaveFormat enum per a la compatibilitat amb l’avantguarda, però encara no són funcionals. save() El mètode sempre produeix sortida PPTX independentment del paràmetre de format.


Fonte oberta i llicències

Aspose.Slides FOSS for Python is released under the MIT license. You can use it in Els projectes personals, acadèmics i comercials sense restriccions. El codi font és disponible en el dia GitHub i el paquet es publica en PyPI.


Com començar a treballar