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