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-fossVaihe 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)