Functies en Mogelijkheden

Functies en Mogelijkheden

Aspose.Slides FOSS for Python provides a broad set of capabilities for working with PowerPoint .pptx bestanden programmatisch. Deze pagina geeft een overzicht van alle ondersteunde functiegebieden met representatieve codevoorbeelden.


Presentatie I/O

Open een bestaande .pptx bestand of maak een nieuw bestand, en sla vervolgens op in PPTX-formaat.

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 behouden, zodat het openen en opnieuw opslaan van een .pptx nooit inhoud zal verwijderen die de bibliotheek nog niet begrijpt.


Dia’s beheren

Dia’s toevoegen, verwijderen, dupliceren en herschikken.

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

AutoShapes, PictureFrames, tabellen en connectors aan een dia toevoegen.

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)

Connectors

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 behulp van 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 buitenschaduw, gloed, zachte rand, vervaging, reflectie en binnenschaduw 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 om elk afzonderlijk te configureren.


3D Formatting

Pas 3D-afschuiningsrand, camera, lichtopstelling, 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 gestructureerde 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

Integreer een afbeelding vanaf een bestandspad in de presentatie 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 actietoetsinstellingenNiet geïmplementeerd
OLE-objectenNiet geïmplementeerd
Wiskundige tekstNiet geïmplementeerd

Zie ook

 Nederlands