Jak načítat prezentace v Pythonu
Aspose.Slides FOSS for Python lets you open any .pptx Tento průvodce pokrývá otevření souboru, iterování slajdů, čtení textu tvaru a opakované uložení.
Krok za krokem
Krok 1: Nainstalujte balíček
pip install aspose-slides-fossKrok 2: Otevřete existující prezentaci
Přeneste cestu souboru na … slides.Presentation().Použijte kontextový manažer k zajištění čistoty.
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)Neznámé části XML ve zdrojovém souboru jsou doslova uchovány: knihovna nikdy neodstraňuje obsah, který ještě nechápe.
Krok 3: Zkontrolujte snímky
Iterujte všechny snímky a vytiskněte jejich index:
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")Krok 4: Číst text ve tvaru
Iterovat tvary a číst text z tvarů, které mají 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}")Krok 5: Číst vlastnosti dokumentu
Přístup k vlastnostem jádra dokumentu ze systému . 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}")Krok 6: Uložení z cesty a zpět
Po prohlídce nebo úpravě prezentace ji uložíte zpět do systému PPTX:
prs.save("output.pptx", SaveFormat.PPTX)Uložení na jinou cestu vytváří nový soubor.
Obvyklé problémy a řešení
FileNotFoundError
Zkontrolujte, zda cesta k … .pptx soubor je správný ve vztahu k pracovnímu adresáři. Use pathlib.Path pro robustní konstrukci dráhy:
from pathlib import Path
path = Path(__file__).parent / "assets" / "deck.pptx"
with slides.Presentation(str(path)) as prs:
...Exception: File format is not supported
Knihovna podporuje: .pptx (Office Open XML) pouze. Legacy .ppt (binární PowerPoint 972003) soubory nejsou podporovány.
Formy nemají atribut text_frame
Některé tvary (Connectors, PictureFrames, GroupShapes) nemají funkci “spojení” nebo “přidělení”. text_frame.Stráž s … hasattr(shape, "text_frame") and shape.text_frame is not None před přístupem k textu.
Časté otázky
Zachovává načtení veškerý původní obsah?
Ano. Neznámé části XML jsou doslova uchovávány na přehledové paměti. Knihovna neodstraňuje žádný obsah XML, který ještě nechápe.
Můžu si nainstalovat PPTX chráněný heslem?
V této edici nejsou podporovány prezentace chráněné heslem (šifrované).
Můžu vytáhnout vestavěné snímky?
Přístup ke sbírce obrázků: prs.images vrací se číslo ImageCollection.Každý obrázek má … content_type a a) bytes vlastnost čtení dat ze surového snímku.
Podporuje se načítání z in-memory streamu?
Přeložení přímo z: io.BytesIO není vystaven v aktuálním API. Napíšejte nejprve byty do dočasného souboru:
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)