Introducción

Aspose.Slides FOSS for .NET is now available on NuGet: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx archivos completamente en C#, sin dependencia de Microsoft Office ni de ningún runtime propietario.

La biblioteca está diseñada para desarrolladores que necesitan generar o manipular archivos de presentación de forma programática: automatizar presentaciones a partir de datos, extraer texto y metadatos de archivos PPTX cargados, crear pipelines de informes basados en presentaciones, o incrustar la creación de presentaciones en aplicaciones ASP.NET. Porque Aspose.Slides.Foss requiere .NET 9.0 o posterior, se despliega idénticamente en Windows, macOS, Linux y contenedores Docker.

Características clave

  • Compatibilidad completa de ida y vuelta con PPTX: Abrir cualquier .pptx archivo, modificar su contenido y guardarlo de nuevo sin perder partes XML desconocidas que la biblioteca aún no comprende.
  • Gestión de diapositivas: Añadir, eliminar e iterar diapositivas usando prs.Slides; la presentación comienza con una diapositiva en blanco después de new Presentation().
  • AutoShapes, Tablas y Conectores: Insertar formas mediante slide.Shapes.AddAutoShape(), datos tabulares a través de slide.Shapes.AddTable(), y conectores visuales entre formas a través de slide.Shapes.AddConnector().
  • Formato de texto enriquecido: Formatear texto a nivel de carácter con PortionFormat: tamaño de fuente, negrita, cursiva, subrayado y color ARGB a través de FillType.Solid y ColorFormat.
  • Tipos de relleno: Aplicar FillType.Solid, Gradient, Pattern, o Picture rellenos a cualquier forma.
  • Efectos visuales: Sombra externa, resplandor, borde suave, desenfoque, reflejo y sombra interna mediante shape.EffectFormat.
  • 3D formatting: Bisel, cámara, equipo de iluminación, material y profundidad de extrusión mediante shape.ThreeDFormat.
  • Notas del presentador: Adjuntar texto de notas a cada diapositiva mediante NotesSlideManager.AddNotesSlide().
  • Comentarios en hilos: Agregar comentarios con metadatos del autor y posición de la diapositiva.
  • Imágenes incrustadas: Incrustar desde ruta de archivo, bytes o Stream.
  • Propiedades del documento: Leer y escribir propiedades principales, de la aplicación y personalizadas.

Comenzando

Instale desde NuGet. Se requiere .NET 9.0 o posterior.

dotnet add package Aspose.Slides.Foss

Cree su primera presentación con una forma y guárdela:

using Aspose.Slides.Foss;

using var prs = new Presentation();
var slide = prs.Slides[0];
var shape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 400, 120);
shape.AddTextFrame("Hello from Aspose.Slides FOSS!");
prs.Save("hello.pptx", SaveFormat.Pptx);

Usar siempre Presentation dentro de un using bloque; esto asegura que todos los recursos internos se liberen cuando el bloque finaliza.

Ejemplo de formato de texto

using Aspose.Slides.Foss;

using var prs = new Presentation();
var shape = prs.Slides[0].Shapes.AddAutoShape(ShapeType.Rectangle, 50, 50, 500, 150);
var tf = shape.AddTextFrame("Bold heading in corporate blue");
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("formatted.pptx", SaveFormat.Pptx);

Limitaciones actuales

Las siguientes áreas generan NotImplementedException en esta versión:

  • Gráficos, SmartArt y objetos OLE
  • Animaciones y transiciones de diapositivas
  • Exportar a PDF, HTML, SVG o formatos de imagen
  • Hipervínculos, configuraciones de acción, macros VBA y firmas digitales

Las partes XML desconocidas encontradas durante la carga se conservan literalmente al guardar, por lo que los archivos PPTX producidos por otras herramientas pueden volver a cargarse de forma segura.

Ver también