Jak uložit prezentaci v Pythonu

Jak uložit prezentaci v Pythonu

Aspose.Slides FOSS pro Python ukládá prezentace výhradně do formátu .pptx pomocí ⌒prs.save(path, SaveFormat.PPTX)` . Tato příručka pokrývá správný vzor ukladaní, ukládaní na jinou cestu a běžné chyby související s uklazením.

Krok za krokem

Vypadá to jako…

Krok 1: Nainstalujte balíček

pip install aspose-slides-foss

Krok 2: Otevřít nebo vytvořit prezentaci

Vždy použijte kontextový manažer. Zachování volání musí probíhat uvnitř bloku with .

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat

# Create new
with slides.Presentation() as prs:
    prs.save("new.pptx", SaveFormat.PPTX)

# Open existing
with slides.Presentation("input.pptx") as prs:
    prs.save("output.pptx", SaveFormat.PPTX)

Krok 3: Uložení na konci bloku with

Po dokončení všech úprav umístěte do bloku with jako poslední výkaz volání ̋save()∂.

import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 100)
    shape.add_text_frame("Hello, World!")
    prs.save("output.pptx", SaveFormat.PPTX)

Krok 4: Uložit jinou cestu

Pro vytvoření nového souboru bez úpravy originálu přejděte jinou výstupní cestu:

with slides.Presentation("template.pptx") as prs:
    # modify ...
    prs.save("customized.pptx", SaveFormat.PPTX)

Soubor template.pptx není upraven; je vytvořen (nebo přepsán, pokud již existuje).


Krok 5: Ověřte výsledek

Po ukončení bloků s with je soubor kompletní a uzavřen. Zkontrolujte, zda existuje:

import os
from pathlib import Path

output = Path("output.pptx")
print(f"Saved: {output.exists()}, size: {output.stat().st_size} bytes")
Vypadá to jako...

Podporovaný formát uložení

FormatEnum ValueSupported
PPTX (Office Open XML)SaveFormat.PPTXYes
PDFN/ANo
HTMLN/ANo
SVGN/ANo
PNG / JPEGN/ANo
ODP (OpenDocument)N/ANo

Podporuje se pouze PPTX. Pokoušení uložit v jakémkoli jiném formátu vyvolá chybu NotImplementedError nebo chybějící podobu.


Obvyklé problémy a řešení

`PovoleníHmotnost: [Výhoda 13] Povolení zamítnuto

Výstupní soubor je otevřen v jiné aplikaci (např. PowerPoint má soubory otevřené). Před uložením uzavřete souboru v jiných aplikacích.

Soubor byl vytvořen, ale je prázdný nebo poškozený .

Zabezpečení, že `prs.save (() ̋ je volán uvnitř bloku ∂with∂ a ne po něm. Po ukončení bloku s∂ with∂ se objekt Presentation∂ odstraní a následné hovory budou mlčky selhat nebo vyvolat chybu.

NotImplementedError při ukládání

To se děje při pokusu o ukládání jiného formátu než PPTX nebo při používání nepodporované funkce (např. grafy nebo animace) během ukázky.


Časté otázky

Můžu si uložit ten samý soubor, co jsem otevřel?

Uložení stejné cesty přepíše originální soubor:

with slides.Presentation("deck.pptx") as prs:
    # modify ...
    prs.save("deck.pptx", SaveFormat.PPTX)  # overwrites original

Můžu uložit do bufera na bajty místo souboru?

Ano. Přeneste objekt `io.BytesIO přímo na ̋prs.save (): přijímá jakýkoli cíl binárního typu:

import io
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat

buf = io.BytesIO()
with slides.Presentation() as prs:
    # ... modify presentation ...
    prs.save(buf, SaveFormat.PPTX)

pptx_bytes = buf.getvalue()

Zachovává uložení obsah, který jsem nezměnil?

Ano. Neznámé části XML z originálního souboru jsou doslova uchovávány. Knihovna sériově sestavuje pouze ty části dokumentu, které chápe a prochází všemi částmi XML, která nepozná.


Viz také:

  • Jak vytvořit prezentaci v Pythonu
  • Jak načítat prezentace v Pythonu
  • Přehled funkcí
  • Odkaz na API
 Čeština