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: | Udvidelse | Læs det. | Skriv ned |
|---|---|---|---|
| PPTX | .pptx | ✓ | ✓ |
| PPT | .ppt | — | Planlagt |
| PPSX | .ppsx | — | Planlagt |
| PPTM | .pptm | — | Planlagt |
| POTX | .potx | — | Planlagt |
| ODP | .odp | — | Planlagt |
| — | Planlagt | ||
| HTML | .html | — | Planlagt |
| HTML5 | .html | — | Planlagt |
| TIFF | .- Det er ikke rigtigt. | — | Planlagt |
| GIF | .gif | — | Planlagt |
| XPS | .xps | — | Planlagt |
| FODP | .fodp | — | Planlagt |
| MD | .md | — | Planlagt |
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.