Características y capacidades
Funciones y Capacidades
Aspose.Slides FOSS for .NET ofrece un amplio conjunto de capacidades para trabajar con archivos PowerPoint .pptx de forma programática. Esta página enumera todas las áreas de funciones compatibles con ejemplos de código representativos.
E/S de Presentación
Abra un archivo .pptx existente o cree uno nuevo, luego guárdelo de nuevo en 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 es el único formato de guardado compatible. Exportar a PDF, HTML, SVG o imágenes no está disponible.
Las partes XML desconocidas en el archivo fuente se conservan literalmente al guardar, de modo que abrir y volver a guardar un .pptx nunca eliminará contenido que la biblioteca aún no comprende.
Gestión de diapositivas
Agregar, eliminar, clonar y reordenar diapositivas.
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
Agregar AutoShapes, PictureFrames, Tables y Connectors a una diapositiva.
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);Tablas
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);Formato de texto
Formatee el texto a nivel de párrafo y de carácter 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 establece la propiedad explícitamente; NullableBool.NotDefined hereda del maestro de diapositivas.
Tipos de relleno
Aplicar rellenos sólidos, degradados, de patrón o de imagen a las 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);Efectos visuales
Aplicar sombra externa, resplandor, borde suave, desenfoque, reflejo y sombra interna a las formas.
Las propiedades del efecto son accesibles a través de shape.EffectFormat. Llame a EnableOuterShadowEffect(), EnableGlowEffect(), EnableSoftEdgeEffect(), SetBlurEffect(), EnableReflectionEffect() o EnableInnerShadowEffect() para configurar cada una de forma independiente.
Formato 3D
Aplica bisel 3D, cámara, conjunto de luces, material y profundidad de extrusión mediante shape.ThreeDFormat. Esto controla la profundidad visual y el modelo de iluminación para la representación de formas en los visores PPTX que admiten efectos 3D.
Notas del orador
Adjunte notas a cualquier diapositiva 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);Comentarios
Agregar comentarios en hilo con información del autor y posición de la diapositiva.
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);Imágenes incrustadas
Incruste una imagen desde un archivo en la presentación y añádala a una diapositiva como un 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);Propiedades del documento
Leer y escribir propiedades de documento principales, de aplicación y 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);Limitaciones conocidas
Las siguientes áreas generan NotImplementedException y no están disponibles en esta edición:
| Área | Estado |
|---|---|
| Gráficos | No implementado |
| SmartArt | No implementado |
| Animaciones y transiciones | No implementado |
| Exportación PDF / HTML / SVG / imagen | No implementado (PPTX only) |
| VBA macros | No implementado |
| Firmas digitales | No implementado |
| Hipervínculos y configuraciones de acción | No implementado |
| OLE objects | No implementado |
| Texto matemático | No implementado |
Ver también
- Primeros pasos: Instalación y primer programa
- Referencia de API: Referencia de clases y métodos
- Guías prácticas: Artículos orientados a tareas