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:

GebiedStatus
GrafiekenNiet geïmplementeerd
SmartArtNiet geïmplementeerd
Animaties en overgangenNiet geïmplementeerd
PDF / HTML / SVG / afbeeldingsexportNiet geïmplementeerd (alleen PPTX)
VBA-macro’sNiet geïmplementeerd
Digitale handtekeningenNiet geïmplementeerd
Hyperlinks en actieregelsNiet geïmplementeerd
OLE-objectenNiet geïmplementeerd
Wiskundige tekstNiet geïmplementeerd

Zie ook

 Nederlands