Como salvar apresentações em Python

Como salvar apresentações em Python

Aspose.Slides FOSS para Python salva apresentações exclusivamente no formato .pptx usando o formato ‘`prs.save(path, SaveFormat.PPTX)’). Este guia abrange o padrão de guarda correto, a conservação em um caminho diferente e erros comuns relacionados à armazenagem.

Guia passo a passo

  • Não, não.

Passo 1: Instalar o pacote

pip install aspose-slides-foss

Passo 2: Abra ou crie uma apresentação

Sempre use o gerenciador de contexto. A chamada de salvamento deve ocorrer dentro do bloco 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)

Passo 3: Salvar no final do bloco with

Coloque a chamada save() como última instrução no bloco ̋with∂, depois de todas as modificações terem sido completadas.

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)

Passo 4: Salve para um caminho diferente

Passe um caminho de saída diferente para criar um novo arquivo sem modificar o original:

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

O ficheiro template.pptx não é modificado; o ficheirão ̋customized.PPtx⌒ é criado (ou substituído se já existir).


Passo 5: Verificar a saída

Após a saída do bloco with, o ficheiro está completo e fechado. Verifique se existe:

import os
from pathlib import Path

output = Path("output.pptx")
print(f"Saved: {output.exists()}, size: {output.stat().st_size} bytes")
  • Não, não.

Formatos de salva suportados

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

Apenas PPTX é suportado. Tentando salvar em qualquer outro formato irá levantar NotImplementedError ou um erro de formato não suportada.


Problemas comuns e soluções

`PermissionError: [Errno 13] Permissão recusada

O arquivo de saída está aberto noutra aplicação (por exemplo, o PowerPoint tem o arquivos abertos). Feche o ficheiro noutras aplicações antes de guardar.

O ficheiro foi criado mas parece vazio ou corrompido .

Assegure `prs.save() ■ é chamado dentro do bloco ̋with∂, não depois dele. Após as saídas de blocos ̇with゚, o objeto ̆Presentation∂ é eliminado e chamadas subsequentes falharão silenciosamente ou criarão um erro.

`NotImplementedError ̋ ao guardar

Isso ocorre quando se tenta salvar um formato diferente do PPTX, ou ao usar uma funcionalidade não suportada (como gráficos ou animações) durante a salvação.


Perguntas Frequentes

Posso salvar no mesmo ficheiro que abri?

Salvar para o mesmo caminho sobrepõe o arquivo original:

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

Posso salvar para um buffer de bytes em vez de um arquivo?

Sim. Passe um objeto `io.BytesIOヽ diretamente para o ̋prs.save (), pois ele aceita qualquer destino de ∂BI:

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

A salvação preserva conteúdo que eu não modifiquei?

Sim. Partes XML desconhecidas do arquivo original são preservadas literalmente. A biblioteca só serializa as partes do modelo de documento que entende e passa por qualquer XML que não reconhece.


Ver também:

  • Como criar apresentações em Python
  • Como carregar apresentações em Python
  • Características de um conjunto geral
  • Referência API
  • Base de conhecimentos da empresa.
  • Aspose.Slides para Python Base de Conhecimento Empresarial
 Português