Recursos e Capacidades
Recursos e Capacidades
Aspose.Slides FOSS for .NET provides a broad set of capabilities for working with PowerPoint .pptx arquivos programaticamente. Esta página lista todas as áreas de recursos suportadas com exemplos de código representativos.
I/O de Apresentação
Abra um existente .pptx arquivo 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);
}Observação: 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á conteúdo que a biblioteca ainda não entende.
Gerenciamento de Slides
Adicione, remova, clone e reordene 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, Tabelas e Conectores 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 texto em 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, reflexão e sombra interna a formas.
As propriedades de efeito são acessíveis através de shape.EffectFormat. Chamar EnableOuterShadowEffect(), EnableGlowEffect(), EnableSoftEdgeEffect(), SetBlurEffect(), EnableReflectionEffect(), ou EnableInnerShadowEffect() para configurar cada um independentemente.
3D Formatting
Aplicar 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.
Anotações do Apresentador
Anexar 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
Adicione 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
Incorporar uma imagem de um arquivo na apresentação e adicioná‑la 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
Leia e escreva propriedades de documento core, app 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 de PDF / HTML / SVG / imagem | Não implementado (apenas PPTX) |
| Macros VBA | Não implementado |
| Assinaturas digitais | Não implementado |
| Hiperlinks e configurações de ação | Não implementado |
| Objetos OLE | Não implementado |
| Texto matemático | Não implementado |
Veja Também
- Primeiros passos: Instalação e primeiro programa
- Referência da API: Referência de classes e métodos
- Guias de Como Fazer: Artigos orientados a tarefas