Kā ielādēt prezentācijas Python
Aspose.Slides FOSS for Python ļauj atvērt jebkuru .pptx failu, pārbaudīt tā saturu un vai nu saglabāt to atpakaļ kā PPTX, vai izvilkt no tā datus. Šis ceļvedis aptver faila atvēršanu, slaidu iterēšanu, formu teksta nolasīšanu un apgrieztu saglabāšanas procesu.
Solī pa solim rokasgrāmata
1. solis: instalēt 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āmas 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 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: Dokumenta īpašību nolasīšana
Piekļūt pamata 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}")Solis 6: Apgrieztais saglabāšana
Pēc prezentācijas pārbaudes vai modificēšanas saglabājiet to atpakaļ kā PPTX:
prs.save("output.pptx", SaveFormat.PPTX)Saglabājot citā ceļā, tiek izveidots jauns fails. Saglabājot tajā pašā ceļā, tiek pārrakstīts oriģināls.
Biežas problēmas un risinājumi
FileNotFoundError
Pārbaudiet, vai ceļš uz .pptx failu ir pareizs attiecībā uz darba direktoriju. Izmantojiet pathlib.Path, lai izveidotu stabilu ceļa konstrukciju:
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 tikai .pptx (Office Open XML). Vecākas .ppt (binārie PowerPoint 97–2003) faili netiek atbalstīti.
Formām nav text_frame atribūta
Dažām formām (Connectors, PictureFrames, GroupShapes) nav text_frame. Aizsargājiet 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 oriģinālo saturu?
Jā. Nezināmās XML daļas tiek saglabātas burtiski, veicot apgriezto saglabāšanu. Bibliotēka neizņems nevienu XML saturu, ko tā vēl nesaprot.
Vai es varu ielādēt ar paroli aizsargātu PPTX?
Paroles aizsargātas (šifrētas) prezentācijas šajā izdevumā netiek atbalstītas.
Vai es 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?
Tieša ielāde 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)