Introdução
Aspose.Slides FOSS for Python is now available on PyPI: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx arquivos 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. Porque 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.
Recursos Principais
- Suporte completo de round-trip PPTX: Abra qualquer
.pptxarquivo, 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: Inserir 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: Format ar 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: Aplicar
FillType.SOLID,GRADIENT,PATTERN, ouPICTUREpreenchimentos a qualquer forma. - Efeitos visuais: Sombra externa, brilho, borda suave, desfoque, reflexão e sombra interna via
shape.effect_format. - 3D formatting: Bisel, câmera, rig de luz, material e profundidade de extrusão via
shape.three_d_format. - Notas do apresentador: Anexar texto das notas a cada slide via
notes_slide_manager.add_notes_slide(). - Comentários em thread: Adicionar comentários com metadados do autor e posição do slide.
- Imagens incorporadas: Incorporar a partir de caminho de arquivo, bytes ou
io.BytesIOfluxo. - Propriedades do documento: Ler e gravar propriedades core, app e custom.
Começando
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
- Hyperlinks, 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.