Kuinka ladata esitykset Pythonissa

Kuinka ladata esitykset Pythonissa

Aspose.Slides FOSS for Python antaa sinun avata minkä tahansa .pptx-tiedoston, tarkastella sen sisältöä ja joko tallentaa sen takaisin PPTX-muotoon tai poimia siitä tietoja. 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

Välitä tiedostopolku slides.Presentation():lle. Käytä kontekstinhallintaa varmistaaksesi puhdistuksen.

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 kirjaimellisesti: kirjasto ei koskaan poista sisältöä, jota se ei vielä ymmärrä.


Vaihe 3: Tarkista diat

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 perusominaisuuksiin 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: Kierrospalautus‑tallennus

Kun olet tarkastanut 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ä .pptx‑tiedoston polku on oikea suhteessa työhakemistoon. Käytä pathlib.Path luotettavan polun muodostamiseen:

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 vain .pptx (Office Open XML). Vanha .ppt (binary PowerPoint 97–2003) -tiedostoja ei tueta.

Kohteilla ei ole text_frame-ominaisuutta

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


Usein kysytyt kysymykset

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

Kyllä. Tuntemattomat XML‑osat säilytetään kirjaimellisesti kierrospalautuksen yhteydessä. Kirjasto ei poista mitään XML‑sisältöä, jota se ei vielä ymmärrä.

Voinko ladata salasanasuojatun PPTX:n?

Salasanalla suojattuja (salattuja) esityksiä ei tueta tässä versiossa.

Voinko poimia upotetut kuvat?

Pääset kuvakokoelmaan: prs.images palauttaa ImageCollection. Jokaisella kuvalla on content_type‑ ja bytes‑ominaisuus raakan kuvatiedon lukemiseen.

Onko muistivirran lataaminen tuettu?

Suoran latauksen io.BytesIO:stä 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