Características y capacidades

Características y capacidades

Características y capacidades

Aspose.Slides FOSS for .NET provides a broad set of capabilities for working with PowerPoint .pptx archivos programáticamente. Esta página enumera todas las áreas de funcionalidad compatibles con ejemplos de código representativos.


Entrada/Salida de Presentación

Abrir un existente .pptx archivo o crear uno nuevo, y luego guardar 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. La exportación a PDF, HTML, SVG o imágenes no está disponible.

Las partes XML desconocidas en el archivo fuente se conservan literalmente al guardar, por lo que abrir y volver a guardar un .pptx nunca eliminará contenido que la biblioteca aún no comprende.


Gestión de Diapositivas

Añadir, 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

Añada AutoShapes, PictureFrames, Tablas y Conectores 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

Formatear texto a nivel de párrafo y 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

Aplica 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

Aplica sombra externa, resplandor, borde suave, desenfoque, reflejo y sombra interna a las formas.

Las propiedades de efecto son accesibles a través de shape.EffectFormat. Llamar EnableOuterShadowEffect(), EnableGlowEffect(), EnableSoftEdgeEffect(), SetBlurEffect(), EnableReflectionEffect(), o EnableInnerShadowEffect() para configurar cada uno de forma independiente.


3D Formatting

Aplicar 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 el renderizado de formas en visores PPTX que admiten efectos 3D.


Notas del presentador

Adjuntar 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

Añade comentarios en hilos con información del autor y la 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

Insertar una imagen desde un archivo en la presentación y añadirla a una diapositiva como una 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

Lee y escribe propiedades del documento core, app 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 aumentan NotImplementedException y no están disponibles en esta edición:

ÁreaEstado
GráficosNo implementado
SmartArtNo implementado
Animaciones y transicionesNo implementado
Exportación a PDF / HTML / SVG / imagenNo implementado (solo PPTX)
Macros VBANo implementado
Firmas digitalesNo implementado
Hipervínculos y configuraciones de acciónNo implementado
Objetos OLENo implementado
Texto matemáticoNo implementado

Ver también

 Español