Kuinka ladata esitykset Python:ssa

Kuinka ladata esitykset Python:ssa

Aspose.Slides FOSS for Python lets you open any .pptx tiedosto, tarkastele sen sisältöä ja joko tallenna se takaisin PPTX-muotoon tai pura siitä dataa. Tämä opas kattaa tiedoston avaamisen, diojen läpikäymisen, muodon tekstin lukemisen ja tallennuksen pyöräytyksen.

Vaiheittainen opas

Vaihe 1: Asenna paketti

pip install aspose-slides-foss

Vaihe 2: Avaa olemassa oleva esitys

Anna tiedostopolku kohteelle slides.Presentation(). Käytä kontekstinhallintaa varmistamaan siivous.

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat

with slides.Presentation("input.pptx") as prs:
    print(f"Slide count: {len(prs.slides)}")
    prs.save("output.pptx", SaveFormat.PPTX)

Tuntemattomat XML-osat lähdetiedostossa säilytetään tarkalleen sellaisina: kirjasto ei koskaan poista sisältöä, jota se ei vielä ymmärrä.


Vaihe 3: Tarkastele dioja

Käy läpi kaikki diat ja tulosta niiden indeksi:

import aspose.slides_foss as slides

with slides.Presentation("deck.pptx") as prs:
    for i, slide in enumerate(prs.slides):
        shape_count = len(slide.shapes)
        print(f"Slide {i}: {shape_count} shapes")

Vaihe 4: Lue muodon teksti

Käy läpi muodot ja lue teksti muodoista, joilla on TextFrame:

import aspose.slides_foss as slides

with slides.Presentation("deck.pptx") as prs:
    for slide in prs.slides:
        for shape in slide.shapes:
            if hasattr(shape, "text_frame") and shape.text_frame is not None:
                text = shape.text_frame.text
                if text.strip():
                    print(f"  Shape text: {text!r}")

Vaihe 5: Lue asiakirjan ominaisuudet

Pääse käsiksi asiakirjan ydinasetuksiin kohteesta prs.document_properties:

import aspose.slides_foss as slides

with slides.Presentation("deck.pptx") as prs:
    props = prs.document_properties
    print(f"Title:   {props.title}")
    print(f"Author:  {props.author}")
    print(f"Subject: {props.subject}")

Vaihe 6: Tallenna kierrätyksenä

Kun olet tarkastellut tai muokannut esitystä, tallenna se takaisin PPTX-muotoon:

prs.save("output.pptx", SaveFormat.PPTX)

Tallentaminen eri polkuun luo uuden tiedoston. Tallentaminen samaan polkuun korvaa alkuperäisen.


Yleisiä ongelmia ja korjauksia

FileNotFoundError

Tarkista, että polku kohteeseen .pptx tiedosto on oikea suhteessa työskentelyhakemistoon. Käytä pathlib.Path luotettavan polun rakentamiseen:

from pathlib import Path
path = Path(__file__).parent / "assets" / "deck.pptx"
with slides.Presentation(str(path)) as prs:
    ...

Exception: File format is not supported

Kirjasto tukee .pptx (Office Open XML) -muotoa vain. Vanha .ppt (binäärinen PowerPoint 97–2003) -tiedostoja ei tueta.

Muodoilla ei ole text_frame-attribuuttia

Jotkut muodot (Connectors, PictureFrames, GroupShapes) eivät sisällä text_frame. Suojaa käyttämällä hasattr(shape, "text_frame") and shape.text_frame is not None ennen tekstin hakemista.


Usein kysytyt kysymykset

Säilyttääkö lataus kaiken alkuperäisen sisällön?

Kyllä. Tuntemattomat XML-osat säilytetään tarkasti pyöräytyssäästön yhteydessä. Kirjasto ei poista mitään XML-sisältöä, jota se ei vielä ymmärrä.

Voinko ladata salasanasuojatun PPTX‑tiedoston?

Salasanasuojattuja (salattuja) esityksiä ei tueta tässä versiossa.

Voinko poimia upotetut kuvat?

Pääse käsiksi kuvakokoelmaan: prs.images palauttaa the ImageCollection. Jokaisella kuvalla on content_type ja bytes ominaisuus raakadatan lukemiseen.

Tukeeko lataamista muistivirran kautta?

Ladataan suoraan io.BytesIO ei ole käytettävissä nykyisessä API:ssa. Kirjoita tavut ensin väliaikaistiedostoon:

import tempfile, os
import aspose.slides_foss as slides

with tempfile.NamedTemporaryFile(suffix=".pptx", delete=False) as tmp:
    tmp.write(pptx_bytes)
    tmp_path = tmp.name

try:
    with slides.Presentation(tmp_path) as prs:
        print(f"Slides: {len(prs.slides)}")
finally:
    os.unlink(tmp_path)

Katso myös

 Suomi