Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
Presentaciones de PowerPoint son esenciales para informes empresariales, presentaciones de ventas, conferencias académicas y paneles generados por software. Sin embargo, crear manualmente diapositivas de PowerPoint puede ser tedioso y llevar mucho tiempo.
¿No sería genial si pudieras automatizar la creación de PowerPoint en C# sin necesidad de descargar bibliotecas de interoperabilidad? Es ahí donde entra en juego la poderosa biblioteca PowerPoint de Iron Software, IronPPT. IronPPT es una potente biblioteca .NET que permite a los desarrolladores crear, modificar y exportar presentaciones de PowerPoint de manera programática con facilidad, sin necesidad de la biblioteca de interoperabilidad de Microsoft PowerPoint. Tanto si necesita generar diapositivas dinámicamente, insertar gráficos o convertir presentaciones a PDF, IronPPT ofrece una solución simple y efectiva.
Hoy exploraremos cómo crear presentaciones de PowerPoint en C# usando IronPPT. Cubriremos:
Mejores prácticas para la automatización de PowerPoint
¡Vamos a sumergirnos! 🚀
Antes de sumergirnos en la creación de presentaciones de manera programada, configuremos primero nuestro entorno de desarrollo.
Para usar IronPPT, instala el paquete NuGet en tu proyecto C#:
Abre Visual Studio.
Abra la Consola del Administrador de Paquetes (Herramientas > Administrador de Paquetes NuGet > Consola del Administrador de Paquetes).
Install-Package IronPPT
4. Alternativamente, puede instalarlo yendo a **"Herramientas -> Administrador de paquetes NuGet -> Administrar paquetes NuGet para la solución"**, buscando IronPPT y haciendo clic en "Instalar".

5. Crea un nuevo proyecto de aplicación de consola.
Una vez instalado, estás listo para comenzar a crear presentaciones de PowerPoint dentro de nuestro .NET Framework.
## **Creando una presentación de PowerPoint en C#**
### **1. Inicializando un archivo PowerPoint**
El primer paso en la automatización de PowerPoint es crear un nuevo archivo de PowerPoint. Con IronPPT, puedes generar presentaciones de PowerPoint de forma programática y guardarlas como archivos .pptx. De forma predeterminada, el archivo de PowerPoint generado es compatible con Microsoft PowerPoint, Google Slides y otros programas que admiten el **formato .pptx**. Para el ejemplo de hoy, crearemos un nuevo proyecto de Visual Studio.
Entonces, para nuestro primer ejemplo de código, estaremos [creando](https://ironsoftware.com/csharp/ppt/examples/create-empty-presentation/) un nuevo archivo de presentación de PowerPoint en blanco. Este será nuestro punto de partida, un archivo de presentación de PowerPoint simple al que luego podremos agregar texto, estilos y más.
```cs
using IronPPT;
class Program
{
static void main()
{
// Creating a new PresentationDocument object
var ppt = new PresentationDocument();
// Save the blank file presentation
ppt.Save("example.pptx");
}
}
Archivo de salida
Cuando abrimos la nueva presentación en nuestro programa de PowerPoint, podemos ver que todo lo que contiene en este momento es una sola diapositiva en blanco.
Una presentación de PowerPoint consta de múltiples diapositivas, cada una de las cuales puede tener diferentes diseños, texto, imágenes y elementos de diseño. Usando IronPPT, puedes agregar diapositivas a una presentación de manera dinámica, modificar su diseño e insertar contenido programáticamente. Esto es útil para sistemas de informes automatizados, exportaciones de paneles de control y generación de presentaciones.
En este punto, nuestro documento de PowerPoint es solo una diapositiva en blanco sin ningún contenido ni diapositivas adicionales. Así que veamos cómo puedes comenzar a agregar diapositivas a tu presentación de PowerPoint.
using IronPPT;
using IronPPT.Models;
// Loading in our presentation file
var ppt = new PresentationDocument("output.pptx");
ppt.AddSlide();
ppt.Save("output.pptx");
using IronPPT;
using IronPPT.Models;
// Loading in our presentation file
var ppt = new PresentationDocument("output.pptx");
ppt.AddSlide();
ppt.Save("output.pptx");
Imports IronPPT
Imports IronPPT.Models
' Loading in our presentation file
Private ppt = New PresentationDocument("output.pptx")
ppt.AddSlide()
ppt.Save("output.pptx")
Salida
🔹 Además de añadir diapositivas simples como estas, puedes añadir múltiples diapositivas y modificarlas dinámicamente usando IronPPT. En nuestro ejemplo, solo hemos añadido dos diapositivas a nuestra presentación, pero puedes añadir tantas como necesites.
Una vez que hayas añadido diapositivas, el siguiente paso es insertar contenido. IronPPT te permite agregar:
Formato personalizado: fuentes, colores y alineación.
Por ejemplo, puedes agregar un título a una diapositiva, insertar una imagen y posicionarla dinámicamente según tus necesidades de diseño. Usando las clases ParagraphStyle y TextStyle de IronPPT, podemos aplicar formato y estilo personalizado al texto mientras se agrega a las diapositivas.
using IronPPT;
using IronPPT.Models;
using IronPPT.Enums;
// Creating a new PresentationDocument object
var ppt = new PresentationDocument("test.pptx");
// Adding simple text to the title slide
ppt.Slides[0].TextBoxes[0].AddText("Welcome to IronPPT");
TextBox textBox = new TextBox();
textBox.Type = ShapeType.Rectangle;
textBox.Width = 500;
textBox.Height = 200;
textBox.Position = (100, 100);
ppt.Slides[1].AddChild(textBox);
// Adding a styled paragraph to the second slide
var style = new ParagraphStyle()
{
Alignment = TextAlignmentTypeValues.Center,
NoBullet = true,
LineSpacing = 30,
ContextualSpacing = true,
};
TextStyle textStyle = new TextStyle()
{
IsBold = true,
Color = Color.Blue,
};
var paragraph = new Paragraph();
paragraph.Style = style;
paragraph.AddText("Let's create some awesome presentations with IronPPT!");
paragraph.TextStyle = textStyle;
ppt.Slides[1].TextBoxes[0].AddParagraph(paragraph);
ppt.Save("example.pptx");
using IronPPT;
using IronPPT.Models;
using IronPPT.Enums;
// Creating a new PresentationDocument object
var ppt = new PresentationDocument("test.pptx");
// Adding simple text to the title slide
ppt.Slides[0].TextBoxes[0].AddText("Welcome to IronPPT");
TextBox textBox = new TextBox();
textBox.Type = ShapeType.Rectangle;
textBox.Width = 500;
textBox.Height = 200;
textBox.Position = (100, 100);
ppt.Slides[1].AddChild(textBox);
// Adding a styled paragraph to the second slide
var style = new ParagraphStyle()
{
Alignment = TextAlignmentTypeValues.Center,
NoBullet = true,
LineSpacing = 30,
ContextualSpacing = true,
};
TextStyle textStyle = new TextStyle()
{
IsBold = true,
Color = Color.Blue,
};
var paragraph = new Paragraph();
paragraph.Style = style;
paragraph.AddText("Let's create some awesome presentations with IronPPT!");
paragraph.TextStyle = textStyle;
ppt.Slides[1].TextBoxes[0].AddParagraph(paragraph);
ppt.Save("example.pptx");
Imports IronPPT
Imports IronPPT.Models
Imports IronPPT.Enums
' Creating a new PresentationDocument object
Private ppt = New PresentationDocument("test.pptx")
' Adding simple text to the title slide
ppt.Slides(0).TextBoxes(0).AddText("Welcome to IronPPT")
Dim textBox As New TextBox()
textBox.Type = ShapeType.Rectangle
textBox.Width = 500
textBox.Height = 200
textBox.Position = (100, 100)
ppt.Slides(1).AddChild(textBox)
' Adding a styled paragraph to the second slide
Dim style = New ParagraphStyle() With {
.Alignment = TextAlignmentTypeValues.Center,
.NoBullet = True,
.LineSpacing = 30,
.ContextualSpacing = True
}
Dim textStyle As New TextStyle() With {
.IsBold = True,
.Color = Color.Blue
}
Dim paragraph As New Paragraph()
paragraph.Style = style
paragraph.AddText("Let's create some awesome presentations with IronPPT!")
paragraph.TextStyle = textStyle
ppt.Slides(1).TextBoxes(0).AddParagraph(paragraph)
ppt.Save("example.pptx")
Salida
En el código anterior, hemos añadido texto nuevo al cuadro de texto existente en la pantalla de título. También hemos creado un nuevo cuadro de texto para la segunda diapositiva, antes de añadirle texto de párrafo con estilo. Este es un ejemplo sencillo de cómo puedes agregar texto completamente personalizado a tus presentaciones de PowerPoint con IronPPT.
A continuación, agreguemos una imagen a nuestra diapositiva de título y personalicemos su tamaño y posición para colocarla como queremos en la diapositiva.
using IronPPT;
using IronPPT.Models;
// Creating a new PresentationDocument object
var ppt = new PresentationDocument();
Image image = new Image();
image.LoadFromFile("example.png");
var newImage = ppt.Slides[0].AddImage(image);
newImage.Position = (150, 300);
newImage.Name = "IronPPT";
newImage.Width = 450;
newImage.Height = 200;
ppt.Save("output.pptx");
using IronPPT;
using IronPPT.Models;
// Creating a new PresentationDocument object
var ppt = new PresentationDocument();
Image image = new Image();
image.LoadFromFile("example.png");
var newImage = ppt.Slides[0].AddImage(image);
newImage.Position = (150, 300);
newImage.Name = "IronPPT";
newImage.Width = 450;
newImage.Height = 200;
ppt.Save("output.pptx");
Imports IronPPT
Imports IronPPT.Models
' Creating a new PresentationDocument object
Private ppt = New PresentationDocument()
Private image As New Image()
image.LoadFromFile("example.png")
Dim newImage = ppt.Slides(0).AddImage(image)
newImage.Position = (150, 300)
newImage.Name = "IronPPT"
newImage.Width = 450
newImage.Height = 200
ppt.Save("output.pptx")
Salida
Más allá del texto simple y las imágenes, las presentaciones de PowerPoint a menudo contienen elementos visuales como formas. Con IronPPT, podemos agregar formas a nuestro archivo de presentación tan fácilmente como añadimos el texto y la imagen antes.
Para demostrar, crearemos una forma circular y la dibujaremos en la diapositiva especificada en una posición específica.
using IronPPT;
using IronPPT.Models;
using IronPPT.Enums;
// Creating a new PresentationDocument object
var ppt = new PresentationDocument("example.pptx");
Shape shape = new Shape();
shape.Name = "Circle";
shape.Type = ShapeType.Ellipse;
shape.Width = 300;
shape.Height = 300;
shape.FillColor = Color.PowderBlue;
shape.OutlineColor = Color.Black;
shape.Position = (180, 200);
ppt.Slides[1].AddShape(shape);
ppt.Save("example.pptx");
using IronPPT;
using IronPPT.Models;
using IronPPT.Enums;
// Creating a new PresentationDocument object
var ppt = new PresentationDocument("example.pptx");
Shape shape = new Shape();
shape.Name = "Circle";
shape.Type = ShapeType.Ellipse;
shape.Width = 300;
shape.Height = 300;
shape.FillColor = Color.PowderBlue;
shape.OutlineColor = Color.Black;
shape.Position = (180, 200);
ppt.Slides[1].AddShape(shape);
ppt.Save("example.pptx");
Imports IronPPT
Imports IronPPT.Models
Imports IronPPT.Enums
' Creating a new PresentationDocument object
Private ppt = New PresentationDocument("example.pptx")
Private shape As New Shape()
shape.Name = "Circle"
shape.Type = ShapeType.Ellipse
shape.Width = 300
shape.Height = 300
shape.FillColor = Color.PowderBlue
shape.OutlineColor = Color.Black
shape.Position = (180, 200)
ppt.Slides(1).AddShape(shape)
ppt.Save("example.pptx")
Salida
Al automatizar la generación de PowerPoint, considere las siguientes mejores prácticas:
Asegúrese de que los archivos exportados tengan el formato y los permisos correctos.
Al seguir estas mejores prácticas, puede crear presentaciones de PowerPoint de alta calidad y profesionales mientras garantiza fiabilidad y eficiencia.
Automatizar la creación de PowerPoint en C# con IronPPT es un cambio radical para los desarrolladores que necesitan generar presentaciones dinámicas de forma rápida y eficiente. Ya sea que estés desarrollando un sistema de informes empresariales, una herramienta educativa o un panel de control empresarial, IronPPT facilita la creación y manipulación de archivos de PowerPoint de manera programática en tus aplicaciones .NET.
Con funciones como la personalización de diapositivas, la inserción de imágenes y la exportación a PDF, IronPPT proporciona todo lo que necesitas para una automatización de PowerPoint sin problemas.
¿Listo para probarlo? Descargue la prueba gratuita de IronPPT hoy y comience a crear presentaciones automatizadas de PowerPoint en C#!