Kā ielādēt prezentācijas Python
Aspose.Slides FOSS for Python lets you open any .pptx fails, pārbaudiet tā saturu un vai nu saglabājiet to atpakaļ kā PPTX, vai arī izvelciet no tā datus. Šis ceļvedis aptver faila atvēršanu, slaidu iterēšanu, formas teksta nolasīšanu un saglabāšanas atgriešanu.
Solī pa solim rokasgrāmata
1. solis: instalējiet pakotni
pip install aspose-slides-foss2. solis: Atvērt esošu prezentāciju
Padodiet faila ceļu uz slides.Presentation(). Izmantojiet konteksta pārvaldnieku, lai nodrošinātu iztīrīšanu.
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)Nezināmās XML daļas avota failā tiek saglabātas burtiski: bibliotēka nekad neizņem saturu, ko tā vēl nesaprot.
3. solis: Pārbaudīt slaidus
Iterējiet visus slaidus un izdrukājiet to indeksu:
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")4. solis: Nolasīt formas tekstu
Iterējiet pār formām un nolasiet tekstu no formām, kurām ir a 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}")5. solis: Nolasīt dokumenta īpašības
Piekļūt galvenajām dokumenta īpašībām no 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}")6. solis: Apgrieztais saglabāšana
Pēc prezentācijas pārbaudes vai modificēšanas, saglabājiet to atpakaļ PPTX formātā:
prs.save("output.pptx", SaveFormat.PPTX)Saglabāšana citā ceļā izveido jaunu failu. Saglabāšana tajā pašā ceļā pārraksta oriģinālu.
Biežāk sastopamās problēmas un to risinājumi
FileNotFoundError
Pārbaudiet, vai ceļš uz .pptx fails ir pareizs attiecībā uz darba direktoriju. Izmantojiet pathlib.Path robustam ceļa veidošanai:
from pathlib import Path
path = Path(__file__).parent / "assets" / "deck.pptx"
with slides.Presentation(str(path)) as prs:
...Exception: File format is not supported
Bibliotēka atbalsta .pptx (Office Open XML) tikai. Legacy .ppt (binary PowerPoint 97–2003) faili netiek atbalstīti.
Formām nav text_frame atribūta
Dažām formām (Connectors, PictureFrames, GroupShapes) nav a text_frame. Aizsargāt ar hasattr(shape, "text_frame") and shape.text_frame is not None pirms piekļuves tekstam.
Biežāk uzdotie jautājumi
Vai ielāde saglabā visu sākotnējo saturu?
Jā. Nezināmās XML daļas tiek saglabātas precīzi apgrieztā saglabāšanas procesā. Bibliotēka neizņems nevienu XML saturu, ko tā vēl nesaprot.
Vai varu ielādēt ar paroli aizsargātu PPTX?
Paroli aizsargātas (šifrētas) prezentācijas šajā izdevumā netiek atbalstītas.
Vai varu izvilkt iegultus attēlus?
Piekļūstiet attēlu kolekcijai: prs.images atgriež ImageCollection. Katram attēlam ir content_type un bytes īpašība, lai nolasītu neapstrādātos attēla datus.
Vai ielāde no atmiņā esoša straumes tiek atbalstīta?
Ielāde tieši no io.BytesIO nav pieejama pašreizējā API. Vispirms rakstiet baitus uz pagaidu failu:
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)