Kaip įkelti pristatymus į Python

Kaip įkelti pristatymus į Python

Aspose.Slides FOSS for Python lets you open any .pptx failą, peržiūrėti jo turinį ir arba išsaugoti jį atgal į PPTX, arba išgauti duomenis iš jo. Ši vadovas apima failo atidarymą, skaidrių peržiūrą, formų teksto skaitymą ir išsaugojimo grąžinimą.

Žingsnis po žingsnio vadovas

Žingsnis 1: Įdiekite paketą

pip install aspose-slides-foss

Žingsnis 2: Atverti esamą pristatymą

Perduokite failo kelią į slides.Presentation(). Naudokite kontekstų valdyklę, kad užtikrintumėte išvalymą.

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)

Nežinomos XML dalys šaltinio faile išsaugomos nepakitusiomis: biblioteka niekada nepašalina turinio, kurio dar nesupranta.


Žingsnis 3: Peržiūrėti skaidres

Iteruokite per visas skaidres ir spausdinkite jų indeksą:

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

Žingsnis 4: Skaityti formų tekstą

Iteruokite per formas ir skaitykite tekstą iš formų, kurios turi 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}")

Žingsnis 5: Skaityti dokumento savybes

Gaukite pagrindines dokumento savybes iš 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}")

Žingsnis 6: Išsaugoti atgal

Po peržiūros arba modifikavimo, išsaugokite pristatymą atgal į PPTX:

prs.save("output.pptx", SaveFormat.PPTX)

Išsaugojimas į kitą kelią sukuria naują failą. Išsaugojimas į tą patį kelią perrašo originalą.


Dažnos problemos ir sprendimai

FileNotFoundError

Patikrinkite, ar kelias iki .pptx failo yra teisingas, atsižvelgiant į darbinį katalogą. Naudokite pathlib.Path patikimam kelio konstruavimui:

from pathlib import Path
path = Path(__file__).parent / "assets" / "deck.pptx"
with slides.Presentation(str(path)) as prs:
    ...

Exception: File format is not supported

Biblioteka palaiko .pptx (Office Open XML) tik. Senesnės .ppt (binary PowerPoint 97–2003) failai nepalaikomi.

Formoms nėra atributo text_frame

Kai kurie formos (Connectors, PictureFrames, GroupShapes) neturi a text_frame. Apsaugokite su hasattr(shape, "text_frame") and shape.text_frame is not None prieš pasiekiant tekstą.


Dažnai užduodami klausimai

Ar įkėlimas išsaugo visą originalų turinį?

Taip. Nežinomos XML dalys išsaugomos nepakitusiomis, atliekant išsaugojimą sugrįžimą. Biblioteka nepašalins jokio XML turinio, kurio dar nesupranta.

Ar galiu įkelti slaptažodžiu apsaugotą PPTX?

Slaptažodžiu apsaugoti (šifruoti) pristatymai šioje versijoje nepalaikomi.

Ar galiu išgauti įterptus vaizdus?

Pasiekite vaizdų kolekciją: prs.images grąžina ImageCollection. Kiekvienas paveikslas turi content_type ir bytes savybę, skirta nuskaityti neapdorotus paveikslų duomenis.

Ar įkėlimas iš atminties srauto yra palaikomas?

Įkeliama tiesiogiai iš io.BytesIO nėra prieinama dabartinėje API. Pirmiausia įrašykite baitus į laikinąjį failą:

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)

Žr. taip pat

 Lietuvių