Convertir PowerPoint a JPG en C#

Resumen

Este artículo explica cómo convertir una presentación de PowerPoint a formato JPG utilizando C#. Cubre los siguientes temas:

C# PowerPoint a JPG

Para código de muestra en C# para convertir PowerPoint a JPG, consulte la sección a continuación, es decir, Convertir PowerPoint a JPG. El código puede cargar varios formatos como PPT, PPTX y ODP en el objeto Presentación y luego guardar su miniatura de diapositiva en formato JPG. Otras conversiones de PowerPoint a imagen que son algo similares, como PNG, BMP, TIFF y SVG, se discuten en estos artículos.

Acerca de la conversión de PowerPoint a JPG

Con Aspose.Slides .NET API puedes convertir una presentación de PowerPoint PPT o PPTX a imagen JPG. También es posible convertir PPT/PPTX a BMP, PNG o SVG. Con esta función es fácil implementar tu propio visor de presentaciones, crear la miniatura de cada diapositiva. Esto puede ser útil si deseas proteger las diapositivas de la presentación contra derechos de autor, demostrar la presentación en modo de solo lectura. Aspose.Slides permite convertir toda la presentación o una diapositiva específica en formatos de imagen. 

todo:image_alt_text

Convertir PowerPoint PPT/PPTX a JPG

Aquí están los pasos para convertir PPT/PPTX a JPG:

  1. Crea una instancia de la clase Presentation.
  2. Obtén el objeto de diapositiva del tipo ISlide de la colección Presentation.Slides.
  3. Crea la miniatura de cada diapositiva y luego conviértela a JPG. El método ISlide.GetImage(float scaleX, float scaleY) se utiliza para obtener una miniatura de una diapositiva, devuelve un objeto Bitmap como resultado. Se debe llamar al método GetImage desde la diapositiva necesaria del tipo ISlide, las escalas de la miniatura resultante se pasan al método.
  4. Después de obtener la miniatura de la diapositiva, llama al método Image.Save(string filename, ImageFormat format) del objeto de miniatura. Pasa el nombre del archivo resultante y el formato de la imagen en él. 
const int imageScale = 1;

using (Presentation pres = new Presentation("PowerPoint-Presentation.ppt"))
{
    foreach (ISlide slide in pres.Slides)
    {
        // Crea una imagen a escala completa
        using (IImage thumbnail = slide.GetImage(imageScale, imageScale))
        {
            // Guarda la imagen en disco en formato JPEG
			string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber);
            thumbnail.Save(imageFileName, ImageFormat.Jpeg);
        }
    }
}

Convertir PowerPoint PPT/PPTX a JPG con dimensiones personalizadas

Para cambiar la dimensión de la miniatura resultante y la imagen JPG, puedes establecer los valores ScaleX y ScaleY pasándolos al método ISlide.GetImage(float scaleX, float scaleY):

using (Presentation pres = new Presentation("PowerPoint-Presentation.pptx"))
{
    // Define dimensiones
    int desiredX = 1200;
    int desiredY = 800;

    // Obtiene los valores escalados de X y Y
    float scaleX = (float)(1.0 / pres.SlideSize.Size.Width) * desiredX;
    float scaleY = (float)(1.0 / pres.SlideSize.Size.Height) * desiredY;

    foreach (ISlide slide in pres.Slides)
    {
        // Crea una imagen a escala completa
        using (IImage thumbnail = slide.GetImage(scaleX, scaleY))
        {
            // Guarda la imagen en disco en formato JPEG
			string imageFileName = string.Format("Slide_{0}.jpg", slide.SlideNumber);
            thumbnail.Save(imageFileName, ImageFormat.Jpeg);
        }
    }
}

Renderizar comentarios al guardar la presentación como imagen

Aspose.Slides para .NET proporciona una función que te permite renderizar comentarios en las diapositivas de una presentación cuando conviertes esas diapositivas en imágenes. Este código C# demuestra la operación:

using (Presentation presentation = new Presentation("test.pptx"))
{
    IRenderingOptions options = new RenderingOptions
    {
        SlidesLayoutOptions = new NotesCommentsLayoutingOptions
        {
            NotesPosition = NotesPositions.BottomTruncated,
            CommentsAreaColor = Color.Red,
            CommentsAreaWidth = 200,
            CommentsPosition = CommentsPositions.Right
        }
    };

    using (IImage image = presentation.Slides[0].GetImage(options))
    {
        image.Save("OutPresBitmap.png", ImageFormat.Png);
    }

    System.Diagnostics.Process.Start("OutPresBitmap.png");
}

Ver también

Consulta otras opciones para convertir PPT/PPTX en imagen como: