Recursos e Capacidades
Recursos e Capacidades
O Aspose.Slides FOSS for .NET oferece um amplo conjunto de recursos para trabalhar com arquivos PowerPoint .pptx programaticamente. 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.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
// Open an existing presentation
using (var prs = new Presentation("input.pptx"))
{
Console.WriteLine($"Slide count: {prs.Slides.Count}");
prs.Save("output.pptx", SaveFormat.Pptx);
}
// Create a new presentation (starts with one blank slide)
using (var prs = new Presentation())
{
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.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
// Access the first slide
var slide = prs.Slides[0];
// Add an additional blank slide at the end
prs.Slides.AddEmptySlide(prs.LayoutSlides[0]);
Console.WriteLine($"Total slides: {prs.Slides.Count}");
prs.Save("multi-slide.pptx", SaveFormat.Pptx);Formas
Adicione AutoShapes, PictureFrames, Tables e Connectors a um slide.
AutoShapes
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
// Add a rectangle at (x=50, y=50) with width=300, height=100
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 300, 100);
shape.AddTextFrame("Aspose.Slides FOSS");
prs.Save("shapes.pptx", SaveFormat.Pptx);Tabelas
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
// Column widths and row heights in points
double[] colWidths = { 120.0, 120.0, 120.0 };
double[] rowHeights = { 40.0, 40.0, 40.0 };
var table = slide.Shapes.AddTable(50, 50, colWidths, rowHeights);
table.Rows[0][0].TextFrame.Text = "Product";
table.Rows[0][1].TextFrame.Text = "Quantity";
table.Rows[0][2].TextFrame.Text = "Price";
prs.Save("table.pptx", SaveFormat.Pptx);Conectores
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var box1 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 100, 150, 60);
var box2 = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 350, 100, 150, 60);
var conn = slide.Shapes.AddConnector(ShapeType.BentConnector3, 0, 0, 10, 10);
conn.StartShapeConnectedTo = box1;
conn.StartShapeConnectionSiteIndex = 3; // right side
conn.EndShapeConnectedTo = box2;
conn.EndShapeConnectionSiteIndex = 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.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 500, 150);
var tf = shape.AddTextFrame("Bold blue heading");
var fmt = tf.Paragraphs[0].Portions[0].PortionFormat;
fmt.FontHeight = 28;
fmt.FontBold = NullableBool.True;
fmt.FillFormat.FillType = FillType.Solid;
fmt.FillFormat.SolidFillColor.Color = Color.FromArgb(255, 0, 70, 127);
prs.Save("text.pptx", SaveFormat.Pptx);NullableBool.True define a propriedade explicitamente; NullableBool.NotDefined herda do mestre de slides.
Tipos de Preenchimento
Aplique preenchimentos sólido, gradiente, padrão ou de imagem a formas.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 300, 150);
// Solid fill
shape.FillFormat.FillType = FillType.Solid;
shape.FillFormat.SolidFillColor.Color = Color.FromArgb(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.EffectFormat. Chame EnableOuterShadowEffect(), EnableGlowEffect(), EnableSoftEdgeEffect(), SetBlurEffect(), EnableReflectionEffect() ou EnableInnerShadowEffect() para configurar cada uma independentemente.
Formatação 3D
Aplique chanfradura 3D, câmera, rig de luz, material e profundidade de extrusão via shape.ThreeDFormat. 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 NotesSlideManager.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var notes = prs.Slides[0].NotesSlideManager.AddNotesSlide();
notes.NotesTextFrame.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.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Drawing;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var author = prs.CommentAuthors.AddAuthor("Jane Smith", "JS");
var slide = prs.Slides[0];
author.Comments.AddComment(
"Please verify this data before the presentation.",
slide,
new PointF(2.0f, 2.0f),
DateTime.Now
);
prs.Save("comments.pptx", SaveFormat.Pptx);Imagens Incorporadas
Incorpore uma imagem de um arquivo na apresentação e adicione‑a a um slide como um PictureFrame.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var imageData = File.ReadAllBytes("logo.png");
var image = prs.Images.AddImage(imageData);
var slide = prs.Slides[0];
slide.Shapes.AddPictureFrame(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.
using Aspose.Slides.Foss;
using Aspose.Slides.Foss.Export;
using var prs = new Presentation();
var props = prs.DocumentProperties;
// Core properties
props.Title = "Q1 Results";
props.Author = "Finance Team";
props.Subject = "Quarterly Review";
props.Keywords = "Q1, finance, results";
// Custom property
props.SetCustomPropertyValue("ReviewedBy", "Legal Team");
prs.Save("deck.pptx", SaveFormat.Pptx);Limitações Conhecidas
As áreas a seguir levantam NotImplementedException 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
- Introdução: Instalação e primeiro programa
- Referência da API: Referência de classes e métodos
- Guias Práticos: Artigos orientados por tarefas