Kā ielādēt prezentācijas Python

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-foss

2. 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)

Skatīt arī

 Latviešu