Indledning

Aspose.Slides FOSS for Python gives you full control over the PowerPoint presentation livscyklus at skabe dæk fra bunden, tilføje og omordne slides og udfylde dem med former, tabeller og formateret tekst og gemme resultatet til PPTX, ODP eller PDF; eller Alt dette sker i ren Python uden afhængighed af Microsoft Office eller en hvilken som helst ekstern binær.

Biblioteket er tilgængeligt på PyPI som: aspose-slides-foss Installering af software under MIT-licensen. med det pip, importere det, og begynde at bygge præsentationer i et par linjer kode. du automatiserer rapportgenerering, opbygger en slide-deck pipeline eller indlejring præsentationsudgang i en webapplikation, API’en dækker hele overfladen: slide Samlinger, hoved/layout-slides, formsamlinger og tekstrammer samt udfyldningsformater eksportmuligheder.

Denne artikel går gennem de centrale præsentations-administrationsfunktioner klasser og metoder, du vil bruge mest når du arbejder med slides i Python.


Hvad der indgår i den

Præsentation Livscyklus

Den Europæiske Union Presentation Skabe et nyt dæk, manipulere dets indhold., og gemme til ethvert understøttet format. Presentationer understøtte kontekst-manager protokol, Så ressourcerne frigives automatisk.

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)

Samling af slides

SlideCollection giver dig mulighed for at tilføje, indsætte, klone, fjerne og omordne dia. Hver operation opdaterer det interne indeks, så len(pres.slides) Den er altid afspejlet i den - Den nuværende tælle.

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)

Former og Autostiller

Tilføj rektangler, ellipser, trekanter og andre geometriske former til enhver slide via ShapeCollection.add_auto_shape().Hver form viser position, størrelse og rotation., og fyldegenskaber, der vedvarer i hele opsparings-/genindladningscyklussen.

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

Tabeller

Oprette datatabeller med: ShapeCollection.add_table(), sæt celletekst via TextFrame, sammenlægning af celler og anvendelse af grænseformater. Rækkehøjde og kolonne Bredde svarer til de værdier, du giver konstruktoren.

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

Master- og layoutdiagrammer

Hver præsentation har en hierarki af hoveddia og layout-slides. Få adgang til dem gennem Presentation.masters og: Presentation.layout_slides at anvende konsekvent - Formatter på tværs af dækket.

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)

Dokumentegenskaber

Læs og skriv indbyggede metadata som titel, forfatter og emne gennem DocumentProperties Objektet. Ejendomme forbliver i den gemte fil.

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)

Hurtig start

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)

Støttede formater

Format:UdvidelseLæs det.Skriv ned
PPTX.pptx
PPT.pptPlanlagt
PPSX.ppsxPlanlagt
PPTM.pptmPlanlagt
POTX.potxPlanlagt
ODP.odpPlanlagt
PDF.pdfPlanlagt
HTML.htmlPlanlagt
HTML5.htmlPlanlagt
TIFF.- Det er ikke rigtigt.Planlagt
GIF.gifPlanlagt
XPS.xpsPlanlagt
FODP.fodpPlanlagt
MD.mdPlanlagt

Bemærk: I øjeblikket er der kun implementeret PPTX-eksport. Der findes andre formatværdier i den officielle version af PCR, som kan bruges til at få en ny tekst fra et andet program. SaveFormat Det er ikke muligt at få en løsning, der kan være kompatibel med fremadgående systemer. save() Metoden producerer altid PPTX-udgang uanset formatparameteren.


Open Source & Licensing

Aspose.Slides FOSS for Python is released under the MIT license. You can use it in Det er en del af den europæiske forskningsprojekt, som har til formål at udvikle og udarbejde nye teknologier. Tilgængelig på: GitHub og pakken offentliggøres den 1. december. PyPI.


Hvordan man begynder