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:
| 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 actietoetsinstellingen | Niet geïmplementeerd |
| OLE-objecten | Niet geïmplementeerd |
| Wiskundige tekst | Niet geïmplementeerd |
Zie ook
- Aan de slag: Installatie en eerste script
- API-referentie: Klassen- en methodereferentie
- How-to-gidsen: Taakgerichte artikelen