Biblioteca gratuita de C# .NET para generar PowerPoint PPTX a partir de una plantilla
La API PPTX de C# .NET de código abierto permite generar dinámicamente presentaciones PowerPoint (.pptx) a partir de plantillas. Reemplaza texto o imágenes, agrega/elimina o clona diapositivas en aplicaciones C#.
¿Qué es PPTXTemplater?
¿Cansado de crear y actualizar manualmente innumerables presentaciones de PowerPoint? Si su aplicación necesita generar archivos .pptx dinámicos y basados en datos, hacerlo programáticamente ha sido tradicionalmente una tarea compleja y frustrante. Manipular manualmente XML dentro del contenedor PPTX es una pesadilla, y a menudo, los desarrolladores recurren a métodos torpes como copiar diapositivas o usar objetos COM difíciles de controlar. ¿Qué pasaría si pudiera diseñar una hermosa plantilla directamente en PowerPoint y luego completarla programáticamente con datos usando una biblioteca .NET simple, ligera y puramente programática? Presentamos PPTXTemplater, un ingenioso proyecto de código abierto que cambia las reglas del juego para la automatización de PowerPoint.
PPTXTemplater es una biblioteca C# que permite a los desarrolladores de software generar y gestionar archivos PowerPoint (.pptx) de forma programática basándose en plantillas predefinidas. Aprovecha PPTXTemplater, proporcionando una abstracción de nivel superior que simplifica la tarea, de otro modo compleja, de manipular documentos PowerPoint. La idea principal es crear una plantilla con marcadores de posición y luego usar PPTXTemplater para rellenar esos marcadores con sus datos, lo que lo convierte en una solución ideal para generar informes, certificados, propuestas y más.
Comenzando con PPTXTemplater
La forma recomendada de instalar PPTXTemplater es mediante GitHub. Por favor, use el siguiente comando para una instalación sin problemas.
Instalar PPTXTemplater desde GitHub
git clone https://github.com/tkrotoff/PptxTemplater.gitGeneración de archivos PPTX basados en plantillas mediante C#
La base de PptxTemplater es su enfoque basado en plantillas. Comienzas creando una presentación estándar de PowerPoint que servirá como tu plantilla. En esta plantilla, puedes definir marcadores de posición para contenido dinámico usando una sintaxis simple e intuitiva, típicamente {{placeholder_name}}. Esto te permite diseñar tus diapositivas directamente en PowerPoint, dándote control total sobre los aspectos visuales de tu presentación. Aquí tienes un ejemplo sencillo que muestra cómo crear una plantilla de PowerPoint con dos diapositivas mediante la biblioteca C#?
¿Cómo crear una plantilla de PowerPoint con dos diapositivas mediante la biblioteca C#?
const string srcFileName = "template.pptx";
const string dstFileName = "final.pptx";
File.Delete(dstFileName);
File.Copy(srcFileName, dstFileName);
Pptx pptx = new Pptx(dstFileName, FileAccess.ReadWrite);
int nbSlides = pptx.SlidesCount();
Assert.AreEqual(2, nbSlides);
// First slide
{
PptxSlide slide = pptx.GetSlide(0);
slide.ReplaceTag("{{hello}}", "HELLO HOW ARE YOU?", PptxSlide.ReplacementType.Global);
slide.ReplaceTag("{{bonjour}}", "BONJOUR TOUT LE MONDE", PptxSlide.ReplacementType.Global);
slide.ReplaceTag("{{hola}}", "HOLA MAMA QUE TAL?", PptxSlide.ReplacementType.Global);
}
// Second slide
{
PptxSlide slide = pptx.GetSlide(1);
slide.ReplaceTag("{{hello}}", "H", PptxSlide.ReplacementType.Global);
slide.ReplaceTag("{{bonjour}}", "B", PptxSlide.ReplacementType.Global);
slide.ReplaceTag("{{hola}}", "H", PptxSlide.ReplacementType.Global);
}
Reemplazo de texto en presentación PPTX mediante C#
Una de las características más fundamentales de PptxTemplater es su capacidad para reemplazar marcadores de posición de texto con tus datos. Esto es increíblemente útil para personalizar presentaciones con nombres, fechas, números y otra información textual. Aquí tienes un ejemplo sencillo que muestra cómo los desarrolladores de software pueden reemplazar texto dentro de una presentación PPTX en aplicaciones C# .NET.
¿Cómo reemplazar texto dentro de una presentación PPTX usando la biblioteca C#?
using PptxTemplater;
// Load the template
using (var presentation = new Presentation("template.pptx"))
{
// Define the data
var data = new Dictionary
{
{ "name", "John Doe" },
{ "date", DateTime.Now.ToShortDateString() }
};
// Fill the template
presentation.Fill(data);
// Save the new presentation
presentation.SaveAs("output.pptx");
}
Reemplazar imágenes en presentación PPTX mediante C#
La biblioteca de código abierto PptxTemplater no se limita solo al texto. Los desarrolladores de software también pueden reemplazar imágenes dentro de sus plantillas con solo un par de líneas de código. Esto es particularmente útil para generar catálogos de productos, credenciales de empleados o cualquier otra presentación que requiera imágenes dinámicas. Aquí hay un ejemplo sencillo que muestra cómo reemplazar imágenes dentro de presentaciones PPTX. Para reemplazar una imagen, primero debes agregar una imagen de marcador de posición en tu plantilla y asignarle un nombre específico (p. ej., "photo1").
¿Cómo reemplazar texto dentro de una presentación PPTX usando la biblioteca C#?
// Assuming you have a slide with an image named "photo1"
var slide = presentation.Slides[0];
slide.ReplacePicture("photo1", "new_image.png");
Agregar, eliminar o clonar diapositiva mediante C#
La biblioteca de código abierto PptxTemplater te brinda un control granular sobre las diapositivas de tu presentación. Puedes clonar diapositivas existentes para crear secciones dinámicas o eliminar diapositivas que no sean necesarias según tus datos. Además, también es posible agregar nuevas diapositivas y eliminar las no deseadas. El siguiente ejemplo muestra cómo clonar o eliminar una diapositiva dentro de aplicaciones C#.
¿Cómo clonar o eliminar una diapositiva dentro de una presentación PPTX mediante la biblioteca C#?
/// Clone a slide
var newSlide = presentation.CloneSlide(0);
// Remove a slide
presentation.RemoveSlide(1);