Recursos e Capacidades
Recursos e Capacidades
O Aspose.Slides FOSS for Python fornece um amplo conjunto de recursos para trabalhar programaticamente com arquivos PowerPoint .pptx. Esta página lista todas as áreas de recursos suportadas com exemplos de código representativos.
Apresentação I/O
Abra um arquivo .pptx existente ou crie um novo, então salve novamente no formato PPTX.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
# Open an existing presentation
with slides.Presentation("input.pptx") as prs:
print(f"Slide count: {len(prs.slides)}")
prs.save("output.pptx", SaveFormat.PPTX)
# Create a new presentation (starts with one blank slide)
with slides.Presentation() as prs:
prs.save("new.pptx", SaveFormat.PPTX)Nota: PPTX é o único formato de salvamento suportado. Exportar para PDF, HTML, SVG ou imagens não está disponível.
Partes XML desconhecidas no arquivo de origem são preservadas literalmente ao salvar, portanto abrir e salvar novamente um .pptx nunca removerá o conteúdo que a biblioteca ainda não entende.
Gerenciamento de Slides
Adicionar, remover, clonar e reorganizar slides.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
# Access the first slide
slide = prs.slides[0]
# Add an additional blank slide at the end
prs.slides.add_empty_slide(prs.layout_slides[0])
print(f"Total slides: {len(prs.slides)}")
prs.save("multi-slide.pptx", SaveFormat.PPTX)Formas
Adicione AutoShapes, PictureFrames, Tables e Connectors a um slide.
AutoShapes
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]
# Add a rectangle at (x=50, y=50) with width=300, height=100
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 100)
shape.add_text_frame("Aspose.Slides FOSS")
prs.save("shapes.pptx", SaveFormat.PPTX)Tabelas
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
# Column widths and row heights in points
col_widths = [120.0, 120.0, 120.0]
row_heights = [40.0, 40.0, 40.0]
table = slide.shapes.add_table(50, 50, col_widths, row_heights)
table.rows[0][0].text_frame.text = "Product"
table.rows[0][1].text_frame.text = "Quantity"
table.rows[0][2].text_frame.text = "Price"
prs.save("table.pptx", SaveFormat.PPTX)Conectores
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]
box1 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 100, 150, 60)
box2 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 350, 100, 150, 60)
conn = slide.shapes.add_connector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10)
conn.start_shape_connected_to = box1
conn.start_shape_connection_site_index = 3 # right side
conn.end_shape_connected_to = box2
conn.end_shape_connection_site_index = 1 # left side
prs.save("connector.pptx", SaveFormat.PPTX)Formatação de Texto
Formate o texto no nível de parágrafo e de caractere usando PortionFormat.
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:
slide = prs.slides[0]
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
tf = shape.add_text_frame("Bold blue heading")
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("text.pptx", SaveFormat.PPTX)NullableBool.TRUE define a propriedade explicitamente; NullableBool.NOT_DEFINED herda do mestre de slides.
Tipos de Preenchimento
Aplique preenchimentos sólido, gradiente, padrão ou de imagem a formas.
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, FillType
from aspose.slides_foss.drawing import Color
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, 150)
# Solid fill
shape.fill_format.fill_type = FillType.SOLID
shape.fill_format.solid_fill_color.color = Color.from_argb(255, 30, 120, 200)
prs.save("fill.pptx", SaveFormat.PPTX)Efeitos Visuais
Aplique sombra externa, brilho, borda suave, desfoque, reflexo e sombra interna às formas.
As propriedades de efeito são acessíveis através de shape.effect_format. Defina outer_shadow_effect, glow_effect, soft_edge_effect, blur_effect, reflection_effect ou inner_shadow_effect para configurar cada uma independentemente.
Formatação 3D
Aplique chanfradura 3D, câmera, rig de luz, material e profundidade de extrusão via shape.three_d_format. Isso controla a profundidade visual e o modelo de iluminação para a renderização de formas em visualizadores PPTX que suportam efeitos 3D.
Notas do Apresentador
Anexe notas a qualquer slide usando notes_slide_manager.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
notes = prs.slides[0].notes_slide_manager.add_notes_slide()
notes.notes_text_frame.text = "Key talking point: emphasize the ROI benefit."
prs.save("notes.pptx", SaveFormat.PPTX)Comentários
Adicionar comentários em thread com informações do autor e posição do slide.
import aspose.slides_foss as slides
from aspose.slides_foss.drawing import PointF
from aspose.slides_foss.export import SaveFormat
from datetime import datetime
with slides.Presentation() as prs:
author = prs.comment_authors.add_author("Jane Smith", "JS")
slide = prs.slides[0]
author.comments.add_comment(
"Please verify this data before the presentation.",
slide,
PointF(2.0, 2.0),
datetime.now()
)
prs.save("comments.pptx", SaveFormat.PPTX)Imagens Incorporadas
Incorpore uma imagem a partir de um caminho de arquivo na apresentação e adicione-a a um slide como um PictureFrame.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
with open("logo.png", "rb") as f:
image_data = f.read()
image = prs.images.add_image(image_data)
slide = prs.slides[0]
slide.shapes.add_picture_frame(
slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image
)
prs.save("with-image.pptx", SaveFormat.PPTX)Propriedades do Documento
Ler e gravar propriedades de documento principais, de aplicativo e personalizadas.
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
props = prs.document_properties
# Core properties
props.title = "Q1 Results"
props.author = "Finance Team"
props.subject = "Quarterly Review"
props.keywords = "Q1, finance, results"
# Custom property
props.set_custom_property_value("ReviewedBy", "Legal Team")
prs.save("deck.pptx", SaveFormat.PPTX)Limitações Conhecidas
As áreas a seguir levantam NotImplementedError e não estão disponíveis nesta edição:
| Área | Status |
|---|---|
| Gráficos | Não implementado |
| SmartArt | Não implementado |
| Animações e transições | Não implementado |
| Exportação PDF / HTML / SVG / imagem | Não implementado (apenas PPTX) |
| Macros VBA | Não implementado |
| Assinaturas digitais | Não implementado |
| Hyperlinks e configurações de ação | Não implementado |
| Objetos OLE | Não implementado |
| Texto matemático | Não implementado |
Veja Também
- Getting Started: Instalação e primeiro script
- API Reference: Referência de classes e métodos
- How-To Guides: Artigos orientados a tarefas