Kā ielādēt prezentācijas Python

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

Skatīt arī

 Latviešu