HERRAMIENTAS PPT

Cómo utilizar C# para crear una presentación de PowerPoint

Regan Pun
Regan Pun
6 de marzo, 2024
Actualizado 3 de abril, 2025
Compartir:

Introducción

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:

  • Instalación de IronPPT
  • Creación y guardado de archivos PowerPoint
  • Agregar diapositivas, texto, imágenes y formas
  • Mejores prácticas para la automatización de PowerPoint

    ¡Vamos a sumergirnos! 🚀

Comenzando con IronPPT

Csharp Create Powerpoint Tutorial 1 related to Comenzando con IronPPT

Antes de sumergirnos en la creación de presentaciones de manera programada, configuremos primero nuestro entorno de desarrollo.

Instalando IronPPT

Para usar IronPPT, instala el paquete NuGet en tu proyecto C#:

  1. Abre Visual Studio.

  2. Abra la Consola del Administrador de Paquetes (Herramientas > Administrador de Paquetes NuGet > Consola del Administrador de Paquetes).

  3. Ejecute el siguiente comando:

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".

 ![Instalación de IronPPT a través de la pantalla del Administrador de Paquetes NuGet](/static-assets/pdf/blog/csharp-create-powerpoint-tutorial/csharp-create-powerpoint-tutorial-2.webp)

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

Presentación en blanco creada con IronPPT

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.

2. Agregar diapositivas a PowerPoint

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")
$vbLabelText   $csharpLabel

Salida

Csharp Create Powerpoint Tutorial 4 related to 2. Agregar diapositivas a PowerPoint

🔹 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.

3. Agregar texto, imágenes y formato

Una vez que hayas añadido diapositivas, el siguiente paso es insertar contenido. IronPPT te permite agregar:

  • Texto: Títulos, párrafos y contenido con formato.
  • Imágenes: Logotipos, gráficos y capturas de pantalla.
  • 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.

Agregar texto a una presentación de PowerPoint

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")
$vbLabelText   $csharpLabel

Salida

Agregar texto y cuadros de texto

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ñadiendo una imagen

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")
$vbLabelText   $csharpLabel

Salida

Agregar una imagen a la primera diapositiva

4. Personalización de diapositivas con formas y gráficos

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")
$vbLabelText   $csharpLabel

Salida

Csharp Create Powerpoint Tutorial 7 related to 4. Personalización de diapositivas con formas y gráficos

Mejores prácticas para la automatización de PowerPoint en C#

Al automatizar la generación de PowerPoint, considere las siguientes mejores prácticas:

1. Optimizar el rendimiento para presentaciones grandes

  • Limita el número de diapositivas para prevenir la sobrecarga de memoria.
  • Utiliza compresión para imágenes para reducir el tamaño del archivo.
  • Evita los objetos redundantes para mantener la presentación eficiente.

2. Mantener un Diseño Consistente

  • Utilice fuentes y colores consistentes para mantener la marca.
  • Aplica plantillas de diapositivas para garantizar un aspecto profesional.
  • Estructurar el contenido lógicamente para mejorar la legibilidad.

3. Manejar errores y excepciones de manera elegante

  • Implemente el manejo de errores para gestionar la entrada no válida.
  • Validar las rutas de las imágenes antes de insertar imágenes.
  • 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.

Conclusión

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#!

Regan Pun
Ingeniero de software
Regan se licenció en Ingeniería Electrónica por la Universidad de Reading. Antes de incorporarse a Iron Software, sus anteriores puestos de trabajo le obligaban a centrarse en tareas concretas; lo que más le gusta de Iron Software es la variedad de tareas que puede realizar, ya sea añadiendo valor a las ventas, el soporte técnico, el desarrollo de productos o el marketing. Le gusta entender cómo utilizan los desarrolladores la biblioteca de Iron Software y utilizar ese conocimiento para mejorar continuamente la documentación y desarrollar los productos.
SIGUIENTE >
Cómo utilizar C# para convertir PowerPoint a imagen

¿Listo para empezar? Versión: 2025.3 acaba de salir

Ver licencias >