Convertir presentaciones PowerPoint a documentos Word en .NET
Descripción general
Este artículo ofrece una solución para desarrolladores sobre la conversión de presentaciones PowerPoint y OpenDocument a documentos Word utilizando Aspose.Slides for .NET y Aspose.Words for .NET. La guía paso a paso le acompaña en cada etapa del proceso de conversión.
Convertir una presentación a un documento Word
Siga las instrucciones a continuación para convertir una presentación PowerPoint o OpenDocument a un documento Word:
- Instanciar la clase Presentation y cargar un archivo de presentación.
- Instanciar las clases Document y DocumentBuilder para generar un documento Word.
- Establecer el tamaño de página del documento Word para que coincida con el de la presentación mediante la propiedad DocumentBuilder.PageSetup.
- Establecer los márgenes en el documento Word mediante la propiedad DocumentBuilder.PageSetup.
- Recorrer todas las diapositivas de la presentación mediante la propiedad Presentation.Slides.
- Generar una imagen de la diapositiva usando el método
GetImagede la interfaz ISlide y guardarla en un flujo de memoria. - Añadir la imagen de la diapositiva al documento Word usando el método
InsertImagede la clase DocumentBuilder.
- Generar una imagen de la diapositiva usando el método
- Guardar el documento Word en un archivo.
Supongamos que tenemos una presentación “sample.pptx” que tiene el siguiente aspecto:

El siguiente ejemplo de código C# muestra cómo convertir la presentación PowerPoint a un documento Word:
// Cargar un archivo de presentación.
using var presentation = new Presentation("sample.pptx");
// Crear objetos Document y DocumentBuilder.
var document = new Document();
var builder = new DocumentBuilder(document);
// Establecer el tamaño de página en el documento Word.
var slideSize = presentation.SlideSize.Size;
builder.PageSetup.PageWidth = slideSize.Width;
builder.PageSetup.PageHeight = slideSize.Height;
// Establecer márgenes en el documento Word.
builder.PageSetup.LeftMargin = 0;
builder.PageSetup.RightMargin = 0;
builder.PageSetup.TopMargin = 0;
builder.PageSetup.BottomMargin = 0;
const float scaleX = 2, scaleY = 2;
// Recorrer todas las diapositivas de la presentación.
foreach (var slide in presentation.Slides)
{
// Generar una imagen de diapositiva y guardarla en un flujo de memoria.
using var image = slide.GetImage(scaleX, scaleY);
using var imageStream = new MemoryStream();
image.Save(imageStream, ImageFormat.Png);
// Añadir la imagen de la diapositiva al documento Word.
imageStream.Seek(0, SeekOrigin.Begin);
builder.InsertImage(imageStream.ToArray(), builder.PageSetup.PageWidth, builder.PageSetup.PageHeight);
builder.InsertBreak(BreakType.PageBreak);
}
// Guardar el documento Word en un archivo.
document.Save("output.docx");
El resultado:

FAQ
¿Qué componentes deben instalarse para convertir presentaciones PowerPoint y OpenDocument a documentos Word?
Solo es necesario agregar los paquetes NuGet correspondientes para Aspose.Slides for .NET y Aspose.Words for .NET a su proyecto C#. Ambas bibliotecas funcionan como API independientes y no se requiere que Microsoft Office esté instalado.
¿Se admiten todos los formatos de presentación PowerPoint y OpenDocument?
Aspose.Slides for .NET soporta todos los formatos de presentación, incluidos PPT, PPTX, ODP y otros tipos de archivo comunes. Esto asegura que pueda trabajar con presentaciones creadas en diversas versiones de Microsoft PowerPoint.