Open presentaties in Python

Inleiding

Naast het maken van PowerPoint-presentaties vanaf nul, stelt Aspose.Slides u ook in staat om bestaande presentaties te openen. Nadat u een presentatie hebt geladen, kunt u informatie erover ophalen, de inhoud van dia’s bewerken, nieuwe dia’s toevoegen, bestaande dia’s verwijderen en meer.

Open presentaties

Om een bestaande presentatie te openen, maakt u een instantie van de Presentation klasse en geeft u het bestandspad door aan de constructor.

Het volgende Python-voorbeeld laat zien hoe u een presentatie opent en het aantal dia’s opvraagt:

import aspose.slides as slides

# Instantieer de Presentation-klasse en geef een bestandspad door aan de constructor.
with slides.Presentation("sample.pptx") as presentation:
    # Print het totale aantal dia's in de presentatie.
    print(presentation.slides.length)

Open wachtwoordbeveiligde presentaties

Wanneer u een wachtwoordbeveiligde presentatie moet openen, geeft u het wachtwoord door via de password eigenschap van de LoadOptions klasse om deze te ontsleutelen en te laden. De volgende Python-code toont deze bewerking:

import aspose.slides as slides

load_options = slides.LoadOptions()
load_options.password = "YOUR_PASSWORD"

with slides.Presentation("sample.pptx", load_options) as presentation:
    # Voer bewerkingen uit op de gedecodeerde presentatie.

Open grote presentaties

Aspose.Slides biedt opties—met name de blob_management_options eigenschap in de LoadOptions klasse—om u te helpen grote presentaties te laden.

Deze Python-code laat zien hoe u een grote presentatie laadt (bijvoorbeeld 2 GB):

import aspose.slides as slides
import os

file_path = "LargePresentation.pptx"

load_options = slides.LoadOptions()
# Kies het KeepLocked-gedrag—het presentiebestand blijft vergrendeld voor de levensduur van 
# de Presentation-instantie, maar het hoeft niet in het geheugen geladen te worden of gekopieerd naar een tijdelijk bestand.
load_options.blob_management_options.presentation_locking_behavior = slides.PresentationLockingBehavior.KEEP_LOCKED
load_options.blob_management_options.is_temporary_files_allowed = True
load_options.blob_management_options.max_blobs_bytes_in_memory = 10 * 1024 * 1024  # 10 MB

with slides.Presentation(file_path, load_options) as presentation:
    # De grote presentatie is geladen en kan worden gebruikt, terwijl het geheugenverbruik laag blijft.

    # Breng wijzigingen aan in de presentatie.
    presentation.slides[0].name = "Large presentation"

    # Sla de presentatie op naar een ander bestand. Het geheugenverbruik blijft laag tijdens deze bewerking.
    presentation.save("LargePresentation-copy.pptx", slides.export.SaveFormat.PPTX)

    # Doe dit niet! Er wordt een I/O‑exception gegooid omdat het bestand vergrendeld blijft tot het presentatie‑object wordt vrijgegeven.
    os.remove(file_path)

# Het is hier wel toegestaan. Het bronbestand is niet meer vergrendeld door het presentatie‑object.
os.remove(file_path)

Presentaties laden zonder ingebedde binaire objecten

Een PowerPoint-presentatie kan de volgende typen ingebedde binaire objecten bevatten:

Met behulp van de LoadOptions.delete_embedded_binary_objects eigenschap kunt u een presentatie laden zonder enige ingebedde binaire objecten.

Deze eigenschap is nuttig om potentieel kwaadwillende binaire inhoud te verwijderen. Het volgende Python-voorbeeld toont hoe u een presentatie laadt zonder enige ingebedde binaire inhoud:

import aspose.slides as slides

load_options = slides.LoadOptions()
load_options.delete_embedded_binary_objects = True

with slides.Presentation("malware.ppt", load_options) as presentation:
    # Voer bewerkingen uit op de presentatie.

FAQ

Hoe kan ik zien dat een bestand corrupt is en niet geopend kan worden?

U krijgt tijdens het laden een parsing-/formaatvalidatie-exception. Dergelijke fouten vermelden vaak een ongeldige ZIP-structuur of beschadigde PowerPoint-records.

Wat gebeurt er als vereiste lettertypen ontbreken bij het openen?

Het bestand wordt geopend, maar later kan bij renderen/exporteren het lettertype worden vervangen. Configureer lettertype-substituties of voeg de vereiste lettertypen toe aan de runtime-omgeving.

Wat gebeurt er met ingebedde media (video/audio) bij het openen?

Ze worden beschikbaar als presentatieresources. Als media via externe paden worden gerefereerd, zorg er dan voor dat die paden toegankelijk zijn in uw omgeving; anders kan bij renderen/exporteren de media worden weggelaten.