
Las presentaciones de MS PowerPoint le permiten crear presentaciones de diapositivas que contienen texto, imágenes, gráficos, animaciones y otros elementos. Varias opciones de formato adicionales le permiten hacer sus presentaciones más atractivas. En esta publicación, aprenderá cómo crear este tipo de presentaciones mediante programación. Aprenderá a crear presentaciones PPTX con texto, tablas, imágenes y gráficos usando C#.
- API de C# para PowerPoint
- Crear una presentación de PowerPoint
- Abrir una presentación de PowerPoint existente
- Agregar diapositiva a una presentación
- Agregar texto a la diapositiva de la presentación
- Crear una tabla en la presentación
- Crear un gráfico en la presentación
- Agregar una imagen en la presentación
C# API de PowerPoint - Descarga gratuita
Aspose.Slides for .NET es una API de manipulación de presentaciones que le permite crear y manipular documentos de PowerPoint desde sus aplicaciones .NET. La API proporciona casi todas las funciones posibles necesarias para implementar funciones de automatización de PowerPoint básicas y avanzadas. Puede descargar la API o instalarla a través de NuGet.
Install-Package Aspose.Slides.NET
Crear una presentación de PowerPoint en C#
Comencemos por crear una presentación de PowerPoint vacía usando Aspose.Slides for .NET. Los siguientes son los pasos para hacerlo.
- Cree una instancia de la clase Presentation.
- Guárdelo como PPTX utilizando el método Presentation.Save(String, SaveFormat).
El siguiente ejemplo de código muestra cómo crear una presentación de PowerPoint en C#.
// Cree una instancia de un objeto Presentation que represente un archivo de presentación
using (Presentation presentation = new Presentation())
{
// Obtener la primera diapositiva
ISlide slide = presentation.Slides[0];
// Añadir contenido a la diapositiva...
// Guardar presentación
presentation.Save("NewPresentation.pptx", SaveFormat.Pptx);
}
Abra una presentación de PowerPoint existente en C#
No necesita esforzarse más para abrir una presentación de PowerPoint existente. Simplemente proporcione la ruta del archivo PPTX al constructor de la clase Presentation y listo. El siguiente ejemplo de código muestra cómo abrir una presentación PPTX existente.
// Abriendo el archivo de presentación pasando la ruta del archivo al constructor de la clase Presentation
Presentation pres = new Presentation("OpenPresentation.pptx");
// Imprimir el número total de diapositivas en la presentación
System.Console.WriteLine(pres.Slides.Count.ToString());
Agregar una diapositiva a la presentación en C#
Una vez que haya creado la presentación, puede comenzar a agregarle las diapositivas. Los siguientes son los pasos para agregar una diapositiva en la presentación usando Aspose.Slides for .NET.
- Cree una instancia de la clase Presentation.
- Crea una instancia de la clase ISlideCollection estableciendo una referencia a la propiedad Presentations.Slides.
- Agregue una diapositiva vacía a la presentación usando el método Slide.AddEmptySlide(ILayoutSlide) expuesto por el objeto ISlideCollection
- Guarde el archivo de presentación usando el método Presentation.Save(String, SaveFormat).
El siguiente ejemplo de código muestra cómo agregar una diapositiva en una presentación de PowerPoint usando C#.
// Instanciar clase de presentación que representa el archivo de presentación
using (Presentation pres = new Presentation())
{
// Instanciar la clase SlideCollection
ISlideCollection slds = pres.Slides;
for (int i = 0; i < pres.LayoutSlides.Count; i++)
{
// Agregar una diapositiva vacía a la colección Diapositivas
slds.AddEmptySlide(pres.LayoutSlides[i]);
}
// Guarde el archivo PPTX en el disco
pres.Save("EmptySlide_out.pptx", SaveFormat.Pptx);
}
Insertar texto en una diapositiva usando C#
Ahora podemos agregar contenido a las diapositivas en la presentación de PowerPoint. Primero agreguemos un fragmento de texto a la diapositiva siguiendo los siguientes pasos.
- Crea una nueva presentación usando la clase Presentation.
- Obtener la referencia de la diapositiva en la presentación.
- Agregue una IAutoForma con ShapeType como Rectángulo en una posición específica de la diapositiva.
- Obtenga la referencia de ese objeto IAutoShape recién agregado.
- Agregue un TextFrame a la autoforma que contiene el texto predeterminado.
- Guarde la presentación como un archivo PPTX.
El siguiente ejemplo de código muestra cómo agregar texto a una diapositiva en una presentación usando C#.
// Instanciar PresentationEx// Instanciar PresentationEx
using (Presentation pres = new Presentation())
{
// Obtener la primera diapositiva
ISlide sld = pres.Slides[0];
// Agregar una autoforma de tipo rectángulo
IAutoShape ashp = sld.Shapes.AddAutoShape(ShapeType.Rectangle, 150, 75, 150, 50);
// Añadir TextFrame al Rectángulo
ashp.AddTextFrame(" ");
// Acceso al marco de texto
ITextFrame txtFrame = ashp.TextFrame;
// Crear el objeto Párrafo para marco de texto
IParagraph para = txtFrame.Paragraphs[0];
// Crear objeto de porción para párrafo
IPortion portion = para.Portions[0];
// Establecer texto
portion.Text = "Aspose TextBox";
// Guardar la presentación en el disco
pres.Save("presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}
Crear tabla en una presentación usando C#
Aspose.Slides for .NET proporciona una manera fácil de crear una tabla en el documento de presentación. Los siguientes son los pasos para ello.
- Cree una instancia de la clase Presentation.
- Obtener la referencia de una diapositiva utilizando su índice.
- Defina matrices de columnas con ancho y filas con alto.
- Agregue una tabla a la diapositiva usando el método Slide.Shapes.AddTable() expuesto por el objeto IShapes y obtenga la referencia a la tabla en la instancia ITable.
- Iterar a través de cada celda para aplicar el formato.
- Agregue texto a las celdas usando la propiedad Table.Rows[][].TextFrame.Text.
- Guarde la presentación como un archivo PPTX.
El siguiente ejemplo de código muestra cómo crear una tabla en una diapositiva de una presentación de PowerPoint.
// Instanciar la clase de presentación que representa el archivo PPTX
Presentation pres = new Presentation();
// Acceder a la primera diapositiva
ISlide sld = pres.Slides[0];
// Definir columnas con anchos y filas con alturas
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// Agregar forma de tabla a la diapositiva
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);
// Establecer formato de borde para cada celda
for (int row = 0; row < tbl.Rows.Count; row++)
{
for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
{
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderTop.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.FillType = (FillType.Solid);
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.SolidFillColor.Color= Color.Red;
tbl.Rows[row][cell].CellFormat.BorderBottom.Width =5;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.SolidFillColor.Color =Color.Red;
tbl.Rows[row][cell].CellFormat.BorderLeft.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderRight.Width = 5;
}
}
// Combinar las celdas 1 y 2 de la fila 1
tbl.MergeCells(tbl.Rows[0][0], tbl.Rows[1][1], false);
// Agregar texto a la celda combinada
tbl.Rows[0][0].TextFrame.Text = "Merged Cells";
// Guardar PPTX en disco
pres.Save("table.pptx", SaveFormat.Pptx);
Crear gráfico en una presentación usando C#
Los siguientes son los pasos para agregar un gráfico en una presentación de PowerPoint usando C#.
- Cree una instancia de la clase Presentation.
- Obtener la referencia de una diapositiva por índice.
- Agregue un gráfico con el tipo deseado usando el método ISlide.Shapes.AddChart(ChartType, Single, Single, Single, Single).
- Agregue un título de gráfico.
- Acceda a la hoja de trabajo de datos del gráfico.
- Borre todas las series y categorías predeterminadas.
- Añadir nuevas series y categorías.
- Agregue nuevos datos de gráficos para series de gráficos.
- Establezca el color de relleno para la serie de gráficos.
- Agregue etiquetas de series de gráficos.
- Guarde la presentación como un archivo PPTX.
El siguiente ejemplo de código muestra cómo agregar un gráfico en una presentación usando C#.
// Instanciar la clase de presentación que representa el archivo PPTX
Presentation pres = new Presentation();
// Acceder a la primera diapositiva
ISlide sld = pres.Slides[0];
// Agregar gráfico con datos predeterminados
IChart chart = sld.Shapes.AddChart(ChartType.ClusteredColumn, 0, 0, 500, 500);
// Tabla de configuración Título
// Chart.ChartTitle.TextFrameForOverriding.Text = "Título de muestra";
chart.ChartTitle.AddTextFrameForOverriding("Sample Title");
chart.ChartTitle.TextFrameForOverriding.TextFrameFormat.CenterText = NullableBool.True;
chart.ChartTitle.Height = 20;
chart.HasTitle = true;
// Establecer la primera serie para Mostrar valores
chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;
// Configuración del índice de la hoja de datos del gráfico
int defaultWorksheetIndex = 0;
// Obtener la hoja de trabajo de datos del gráfico
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Eliminar series y categorías generadas por defecto
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
int s = chart.ChartData.Series.Count;
s = chart.ChartData.Categories.Count;
// Agregando nueva serie
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.Type);
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.Type);
// Agregar nuevas categorías
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"));
chart.ChartData.Categories.Add(fact.GetCell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"));
// Tomar la primera serie de gráficos
IChartSeries series = chart.ChartData.Series[0];
// Ahora llenando datos de series
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, 20));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, 50));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, 30));
// Configuración del color de relleno para la serie
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Red;
// Tome la segunda serie de gráficos
series = chart.ChartData.Series[1];
// Ahora llenando datos de series
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 1, 2, 30));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 2, 2, 10));
series.DataPoints.AddDataPointForBarSeries(fact.GetCell(defaultWorksheetIndex, 3, 2, 60));
// Configuración del color de relleno para la serie
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Green;
// La primera etiqueta mostrará el nombre de la categoría
IDataLabel lbl = series.DataPoints[0].Label;
lbl.DataLabelFormat.ShowCategoryName = true;
lbl = series.DataPoints[1].Label;
lbl.DataLabelFormat.ShowSeriesName = true;
// Mostrar valor para la tercera etiqueta
lbl = series.DataPoints[2].Label;
lbl.DataLabelFormat.ShowValue = true;
lbl.DataLabelFormat.ShowSeriesName = true;
lbl.DataLabelFormat.Separator = "/";
// Guardar presentación con gráfico
pres.Save("AsposeChart_out.pptx", SaveFormat.Pptx);
Obtenga más información sobre los gráficos de presentación aquí.
Agregar una imagen en la presentación
Los siguientes son los pasos para agregar imágenes en la diapositiva de la presentación.
- Crea una nueva presentación usando la clase Presentation.
- Lea la imagen SVG usando el método File.ReadAllText(String path).
- Agregue una imagen a la diapositiva usando el método Presentation.Slides[0].Shapes.AddPictureFrame(ShapeType shapeType, float x, float y, float width, float height, IPPImage image).
- Guarde la presentación.
El siguiente ejemplo de código muestra cómo agregar una imagen a una presentación en C#.
// Crear presentación
using (var p = new Presentation())
{
// Leer imagen
var svgContent = File.ReadAllText("image.svg");
// Agregar imagen a la colección de imágenes
var emfImage = p.Images.AddFromSvg(svgContent);
// Agregar imagen a la diapositiva
p.Slides[0].Shapes.AddPictureFrame(ShapeType.Rectangle, 0, 0, emfImage.Width, emfImage.Height, emfImage);
// Guardar presentación
p.Save("presentation.pptx", SaveFormat.Pptx);
}
Conclusión
En este artículo, ha aprendido a crear presentaciones de PowerPoint desde cero usando C#. Además, ha visto cómo agregar diapositivas, texto, tablas, imágenes y gráficos en presentaciones PPTX nuevas o existentes. Puede obtener más información sobre la API utilizando la documentación.
Ver también
- Proteja las presentaciones de PowerPoint PPTX con C#
- Crear presentaciones de MS PowerPoint en ASP.NET
- Convierta PowerPoint PPTX/PPT a imágenes PNG en C#
- Establecer fondo de diapositiva en presentaciones de PowerPoint usando C#
- Genere miniaturas para PowerPoint PPTX o PPT usando C#
- Aplicar animación a texto en PowerPoint usando C#
- Dividir presentaciones de PowerPoint usando C#
Sugerencia: además de la creación de diapositivas o presentaciones, Aspose.Slides proporciona muchas características que le permiten trabajar con presentaciones. Por ejemplo, utilizando sus propias API, Aspose desarrolló un visor en línea gratuito para presentaciones de Microsoft PowerPoint.