Introdução
Aspose.Slides FOSS for Python está agora disponível no PyPI: uma biblioteca gratuita, licenciada sob MIT, para criar, ler e editar arquivos PowerPoint .pptx totalmente em Python, sem dependência do Microsoft Office ou de qualquer runtime proprietário.
A biblioteca foi projetada para desenvolvedores que precisam gerar ou manipular arquivos de apresentação programaticamente: automatizar decks de slides a partir de dados, extrair texto e metadados de arquivos PPTX enviados, construir pipelines de relatórios baseados em apresentações ou incorporar a criação de apresentações em aplicações web. Como aspose-slides-foss é puro Python com apenas lxml como dependência, ele é implantado de forma idêntica no Windows, macOS, Linux e contêineres Docker.
Principais Recursos
- Suporte completo de ida e volta para PPTX: Abra qualquer arquivo
.pptx, modifique seu conteúdo e salve-o novamente sem perder partes XML desconhecidas que a biblioteca ainda não entende. - Gerenciamento de slides: Adicione, remova e itere slides usando
prs.slides; a apresentação começa com um slide em branco apósslides.Presentation(). - AutoShapes, Tabelas e Conectores: Insira formas via
slide.shapes.add_auto_shape(), dados tabulares viaslide.shapes.add_table()e conectores visuais entre formas viaslide.shapes.add_connector(). - Formatação de texto rico: Formate texto ao nível de caractere com
PortionFormat: tamanho da fonte, negrito, itálico, sublinhado e cor ARGB viaFillType.SOLIDeColor.from_argb(). - Tipos de preenchimento: Aplique preenchimentos
FillType.SOLID,GRADIENT,PATTERNouPICTUREa qualquer forma. - Efeitos visuais: Sombra externa, brilho, borda suave, desfoque, reflexão e sombra interna via
shape.effect_format. - Formatação 3D: Bisel, câmera, conjunto de luzes, material e profundidade de extrusão via
shape.three_d_format. - Notas do apresentador: Anexe texto de notas a cada slide via
notes_slide_manager.add_notes_slide(). - Comentários em thread: Adicione comentários com metadados de autor e posição do slide.
- Imagens incorporadas: Incorpore a partir de caminho de arquivo, bytes ou fluxo
io.BytesIO. - Propriedades do documento: Leia e escreva propriedades core, app e personalizadas.
Introdução
Instale a partir do PyPI. Python 3.10 ou posterior é necessário; lxml é instalado automaticamente.
pip install aspose-slides-foss
Crie sua primeira apresentação com uma forma e salve-a:
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
from aspose.slides_foss import ShapeType
with slides.Presentation() as prs:
slide = prs.slides[0]
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 400, 120)
shape.add_text_frame("Hello from Aspose.Slides FOSS!")
prs.save("hello.pptx", SaveFormat.PPTX)
Sempre use Presentation dentro de um with bloco; isso garante que todos os recursos internos sejam liberados quando o bloco for encerrado.
Exemplo de Formatação de Texto
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, NullableBool, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
shape = prs.slides[0].shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
tf = shape.add_text_frame("Bold heading in corporate blue")
fmt = tf.paragraphs[0].portions[0].portion_format
fmt.font_height = 28
fmt.font_bold = NullableBool.TRUE
fmt.fill_format.fill_type = FillType.SOLID
fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 70, 127)
prs.save("formatted.pptx", SaveFormat.PPTX)
Limitações Atuais
As áreas a seguir geram NotImplementedError nesta versão:
- Gráficos, SmartArt e objetos OLE
- Animações e transições de slides
- Exportar para PDF, HTML, SVG ou formatos de imagem
- Links, configurações de ação, macros VBA e assinaturas digitais
Partes XML desconhecidas encontradas durante o carregamento são preservadas literalmente ao salvar, de modo que arquivos PPTX produzidos por outras ferramentas façam round‑trip com segurança.