Functies en mogelijkheden
Functies en mogelijkheden
Aspose.Slides FOSS for Python biedt een breed scala aan mogelijkheden om PowerPoint .pptx‑bestanden programmatisch te bewerken. Deze pagina geeft een overzicht van alle ondersteunde functiegebieden met representatieve codevoorbeelden.
Presentatie I/O
Open een bestaand .pptx-bestand of maak een nieuw, sla het vervolgens op in PPTX-indeling.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
# Open an existing presentation
with slides.Presentation("input.pptx") as prs:
print(f"Slide count: {len(prs.slides)}")
prs.save("output.pptx", SaveFormat.PPTX)
# Create a new presentation (starts with one blank slide)
with slides.Presentation() as prs:
prs.save("new.pptx", SaveFormat.PPTX)Opmerking: PPTX is het enige ondersteunde opslagformaat. Exporteren naar PDF, HTML, SVG of afbeeldingen is niet beschikbaar.
Onbekende XML-onderdelen in het bronbestand worden bij het opslaan letterlijk bewaard, dus het openen en opnieuw opslaan van een .pptx zal nooit inhoud verwijderen die de bibliotheek nog niet begrijpt.
Dia’s Beheer
Voeg dia’s toe, verwijder, kloon en herschik dia’s.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
# Access the first slide
slide = prs.slides[0]
# Add an additional blank slide at the end
prs.slides.add_empty_slide(prs.layout_slides[0])
print(f"Total slides: {len(prs.slides)}")
prs.save("multi-slide.pptx", SaveFormat.PPTX)Vormen
Voeg AutoShapes, PictureFrames, Tabellen en Connectoren toe aan een dia.
AutoShapes
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
# Add a rectangle at (x=50, y=50) with width=300, height=100
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 100)
shape.add_text_frame("Aspose.Slides FOSS")
prs.save("shapes.pptx", SaveFormat.PPTX)Tabellen
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
# Column widths and row heights in points
col_widths = [120.0, 120.0, 120.0]
row_heights = [40.0, 40.0, 40.0]
table = slide.shapes.add_table(50, 50, col_widths, row_heights)
table.rows[0][0].text_frame.text = "Product"
table.rows[0][1].text_frame.text = "Quantity"
table.rows[0][2].text_frame.text = "Price"
prs.save("table.pptx", SaveFormat.PPTX)Connectoren
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
box1 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 100, 150, 60)
box2 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 350, 100, 150, 60)
conn = slide.shapes.add_connector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10)
conn.start_shape_connected_to = box1
conn.start_shape_connection_site_index = 3 # right side
conn.end_shape_connected_to = box2
conn.end_shape_connection_site_index = 1 # left side
prs.save("connector.pptx", SaveFormat.PPTX)Tekstopmaak
Formatteer tekst op alinea- en tekenniveau met PortionFormat.
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:
slide = prs.slides[0]
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
tf = shape.add_text_frame("Bold blue heading")
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("text.pptx", SaveFormat.PPTX)NullableBool.TRUE stelt de eigenschap expliciet in; NullableBool.NOT_DEFINED erft van de slide‑master.
Vultypen
Pas effen, verloop, patroon of afbeeldingvullingen toe op vormen.
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 150)
# Solid fill
shape.fill_format.fill_type = FillType.SOLID
shape.fill_format.solid_fill_color.color = Color.from_argb(255, 30, 120, 200)
prs.save("fill.pptx", SaveFormat.PPTX)Visuele effecten
Pas buitenste schaduw, gloed, zachte rand, vervaging, reflectie en binnenste schaduw toe op vormen.
De effecteigenschappen zijn toegankelijk via shape.effect_format. Stel outer_shadow_effect, glow_effect, soft_edge_effect, blur_effect, reflection_effect of inner_shadow_effect in om elk afzonderlijk te configureren.
3D-opmaak
Pas 3D-afschuining, camera, lichtrig, materiaal en extrusiediepte toe via shape.three_d_format. Dit regelt de visuele diepte en het verlichtingsmodel voor vormweergave in PPTX-viewers die 3D-effecten ondersteunen.
Sprekersnotities
Voeg notities toe aan elke dia met behulp van notes_slide_manager.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
notes = prs.slides[0].notes_slide_manager.add_notes_slide()
notes.notes_text_frame.text = "Key talking point: emphasize the ROI benefit."
prs.save("notes.pptx", SaveFormat.PPTX)Opmerkingen
Voeg geneste opmerkingen toe met auteurinformatie en dia‑positie.
import aspose.slides_foss as slides
from aspose.slides_foss.drawing import PointF
from aspose.slides_foss.export import SaveFormat
from datetime import datetime
with slides.Presentation() as prs:
author = prs.comment_authors.add_author("Jane Smith", "JS")
slide = prs.slides[0]
author.comments.add_comment(
"Please verify this data before the presentation.",
slide,
PointF(2.0, 2.0),
datetime.now()
)
prs.save("comments.pptx", SaveFormat.PPTX)Ingesloten afbeeldingen
Sluit een afbeelding vanuit een bestandspad in de presentatie in en voeg deze toe aan een dia als een PictureFrame.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
with open("logo.png", "rb") as f:
image_data = f.read()
image = prs.images.add_image(image_data)
slide = prs.slides[0]
slide.shapes.add_picture_frame(
slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image
)
prs.save("with-image.pptx", SaveFormat.PPTX)Documenteigenschappen
Lees en schrijf kern-, app- en aangepaste documenteigenschappen.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
props = prs.document_properties
# Core properties
props.title = "Q1 Results"
props.author = "Finance Team"
props.subject = "Quarterly Review"
props.keywords = "Q1, finance, results"
# Custom property
props.set_custom_property_value("ReviewedBy", "Legal Team")
prs.save("deck.pptx", SaveFormat.PPTX)Bekende beperkingen
De volgende gebieden veroorzaken NotImplementedError en zijn niet beschikbaar in deze editie:
| Gebied | Status |
|---|---|
| Grafieken | Niet geïmplementeerd |
| SmartArt | Niet geïmplementeerd |
| Animaties en overgangen | Niet geïmplementeerd |
| PDF / HTML / SVG / afbeeldingsexport | Niet geïmplementeerd (alleen PPTX) |
| VBA-macro’s | Niet geïmplementeerd |
| Digitale handtekeningen | Niet geïmplementeerd |
| Hyperlinks en actieregels | Niet geïmplementeerd |
| OLE-objecten | Niet geïmplementeerd |
| Wiskundige tekst | Niet geïmplementeerd |
Zie ook
- Getting Started: Installatie en eerste script
- API Reference: Klassen- en methodereferentie
- How-To Guides: Taakgerichte artikelen