HERRAMIENTAS PDF

Cómo utilizar C# para convertir PowerPoint a imagen

Actualizado 12 de marzo, 2024
Compartir:

Introducción

La necesidad de convertir PowerPoint En el campo del desarrollo de software es frecuente que se produzcan presentaciones de formatos de imagen. A muchos desarrolladores les resulta útil poder convertir mediante programación archivos PowerPoint en fotos, ya sea para generar vistas previas, crear miniaturas o integrar sistemas. Este artículo explicará cómo realizar esta operación con C# ppt to image e incluirá algunos ejemplos de código para ayudarle en el proceso.

Cómo utilizar C# para convertir PowerPoint a imagen

  1. Crear instancia de aplicación PowerPoint.
  2. Abrir Presentación utilizando la Instancia.
  3. Compruebe y cree una carpeta de salida.
  4. Iterar a través de diapositivas y exportar diapositivas a imágenes.
  5. Cierre la presentación y salga de la aplicación.

¿Convertir una presentación de PowerPoint a formatos de imagen?

Echemos un vistazo rápido a la importancia de convertir diapositivas de PowerPoint en fotos antes de entrar en los detalles. Aunque PowerPoint es una gran herramienta para hacer presentaciones dinámicas, no siempre es factible compartir estos archivos en su formato original. A veces, sólo se necesitan determinadas diapositivas o fotos tomadas de la presentación, y otras veces, los diferentes sistemas y configuraciones pueden no permitir la renderización directa de archivos PowerPoint. Convertir las presentaciones de PowerPoint en imágenes es una solución completa que resulta sencilla de compartir y ver en diversos dispositivos y aplicaciones.

Uso de la biblioteca PowerPoint Intrope

Existen varios métodos para convertir presentaciones de PowerPoint en fotos en C#. Utilización de la Microsoft.Office.Interop.PowerPoint que ofrece clases y métodos para interactuar mediante programación con aplicaciones PowerPoint, es un método muy popular. que proporciona una amplia capacidad para trabajar con archivos PowerPoint, es otra estrategia.

Crear un nuevo proyecto de Visual Studio

Siga los siguientes pasos para crear un nuevo proyecto de Visual Studio:

Abra el IDE de Visual Studio. Asegúrese de haber instalado Visual Studio en tu PC antes de utilizarlo.

**Lanzar un nuevo proyecto

Elija Archivo, Nuevo y, por último, Proyecto.

Cómo usar C# para convertir PowerPoint a imagen: Figura 1 - Abra Visual Studio y elija Archivo - Nuevo - Proyecto.

En el cuadro "Crear un nuevo proyecto", seleccione su lenguaje de programación favorito (C#, por ejemplo) desde el lado izquierdo.

A continuación, seleccione la "Aplicación de consola" o la "Aplicación de consola". (.NET Core)" de la lista de plantillas de proyecto disponibles.

Rellene la sección "Nombre" para dar un nombre a su proyecto.

Cómo usar C# para convertir PowerPoint a imagen: Figura 2 - En el cuadro Crear nuevo proyecto, seleccione el lenguaje de programación C# y Console App. Configurar el nombre del proyecto y la ubicación, a continuación, haga clic en el botón "Siguiente".

Seleccione la ubicación de almacenamiento del proyecto.

Haga clic en "Crear" para empezar a trabajar en un nuevo proyecto de aplicación de Consola.

Cómo utilizar C# para convertir PowerPoint a imagen: Figura 3 - Seleccione el .NET Framework apropiado y haga clic en el botón "Crear".

Convierte diapositivas de PowerPoint en imágenes en C#

Empecemos por ver cómo utilizar el espacio de nombres Microsoft.Office.Interop.PowerPoint para convertir diapositivas de PowerPoint en imágenes. Asegúrese primero de que los ensamblados necesarios están instalados y añadidos a su proyecto C# como referencias. Estos ensamblados suelen encontrarse consultando directamente los ensamblados de InterOp o instalando los ensamblados de Interop primarios de Microsoft Office. (PIA).

Ejemplo de código

using System.IO;
using Microsoft.Office.Interop.PowerPoint;
class Program
{
    static void Main(string [] args)
    {
        string pptFilePath = "demo.pptx"; //  Ruta a su archivo PowerPoint
        string outputFolder = "output_images"; //  Ruta de la carpeta de salida donde se guardarán las imágenes
        ConvertPptToImages(pptFilePath, outputFolder);
    }
    static void ConvertPptToImages(string pptFilePath, string outputFolder)
    {
        Application pptApplication = new Application();
        Presentation pptPresentation = pptApplication.Presentations.Open(pptFilePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
        if (!Directory.Exists(outputFolder))
            Directory.CreateDirectory(outputFolder);
        int slidesCount = pptPresentation.Slides.Count;
        for (int i = 1; i <= slidesCount; i++)
        {
            string outputPath = Path.Combine(outputFolder, $"Slide{i}.png");
            pptPresentation.Slides [i].Export(outputPath, "png", 1024, 768);
        //guardar las diapositivas de la presentación en imágenes png
        }
        pptPresentation.Close();
        pptApplication.Quit();
    }
}
using System.IO;
using Microsoft.Office.Interop.PowerPoint;
class Program
{
    static void Main(string [] args)
    {
        string pptFilePath = "demo.pptx"; //  Ruta a su archivo PowerPoint
        string outputFolder = "output_images"; //  Ruta de la carpeta de salida donde se guardarán las imágenes
        ConvertPptToImages(pptFilePath, outputFolder);
    }
    static void ConvertPptToImages(string pptFilePath, string outputFolder)
    {
        Application pptApplication = new Application();
        Presentation pptPresentation = pptApplication.Presentations.Open(pptFilePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse);
        if (!Directory.Exists(outputFolder))
            Directory.CreateDirectory(outputFolder);
        int slidesCount = pptPresentation.Slides.Count;
        for (int i = 1; i <= slidesCount; i++)
        {
            string outputPath = Path.Combine(outputFolder, $"Slide{i}.png");
            pptPresentation.Slides [i].Export(outputPath, "png", 1024, 768);
        //guardar las diapositivas de la presentación en imágenes png
        }
        pptPresentation.Close();
        pptApplication.Quit();
    }
}
Imports System.IO
Imports Microsoft.Office.Interop.PowerPoint
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		Dim pptFilePath As String = "demo.pptx" '  Ruta a su archivo PowerPoint
		Dim outputFolder As String = "output_images" '  Ruta de la carpeta de salida donde se guardarán las imágenes
		ConvertPptToImages(pptFilePath, outputFolder)
	End Sub
	Private Shared Sub ConvertPptToImages(ByVal pptFilePath As String, ByVal outputFolder As String)
		Dim pptApplication As New Application()
		Dim pptPresentation As Presentation = pptApplication.Presentations.Open(pptFilePath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse)
		If Not Directory.Exists(outputFolder) Then
			Directory.CreateDirectory(outputFolder)
		End If
		Dim slidesCount As Integer = pptPresentation.Slides.Count
		For i As Integer = 1 To slidesCount
			Dim outputPath As String = Path.Combine(outputFolder, $"Slide{i}.png")
			pptPresentation.Slides (i).Export(outputPath, "png", 1024, 768)
		'guardar las diapositivas de la presentación en imágenes png
		Next i
		pptPresentation.Close()
		pptApplication.Quit()
	End Sub
End Class
VB   C#

El espacio de nombres C# necesario para trabajar con aplicaciones PowerPoint se importa utilizando Microsoft.Office.Interop.PowerPoint; declaración. El punto de entrada del programa es el método Main. Designa la carpeta de salida (carpeta de salida)que es donde se guardarán las fotografías creadas, y la ruta al archivo PowerPoint (pptFilePath). Este método se encarga de la transformación real de las presentaciones de PowerPoint en fotos. A continuación se muestra el PowerPoint ppt que se utiliza para el código de ejemplo anterior.

Archivo de presentación de PowerPoint

Cómo usar C# para convertir PowerPoint a imagen: Figura 4 - PowerPoint ppt utilizado para el ejemplo de código.

Aplicación pptApplication = nueva Aplicación(); se utiliza para iniciar una nueva instancia del programa PowerPoint. Esto permite la interacción programática con PowerPoint.Usando pptApplication.Presentations, abrimos el archivo de presentación de PowerPoint indicado por el pptFilePath.Open() función. Esta función devuelve un objeto Presentación que representa la presentación abierta. Determinamos si la carpeta de salida "outputFolder" está presente. Si no, utilizamos el método Directory.CreateDirectory() para crearlo.

Salida de la consola

Cómo usar C# para convertir PowerPoint a imagen: Figura 5 - Salida de la consola

Utilizamos un bucle for para recorrer cada diapositiva de la presentación. La pptPresentación proporciona el número total de diapositivas utilizando la propiedad Diapositivas.Count. Utilizamos la ruta de la carpeta de salida y el índice de diapositivas para crear la ruta de salida de la imagen de cada diapositiva (como Deslizamientos{i}.png). A continuación, utilizamos pptPresentation para exportar la diapositiva de PowerPoint como imagen (en este ejemplo, en formato de imagen JPG, imagen PNG). Utilice la opción Exportar() función. Los parámetros son el formato de imagen ("Formato "png) y tamaño (ancho: 1024, alto: 768). Por último, utilizamos pptPresentation para finalizar la presentación.Close() y utilice pptApplication para finalizar la sesión de PowerPoint. Para ceder adecuadamente los recursos del sistema, utilice Salir().

Salida - Convertir un PowerPoint a imágenes PNG

Cómo usar C# para convertir PowerPoint a imagen: Figura 6 - Salida de diapositivas de PowePoint exportadas a imágenes PNG

IronXL

Un conocido marco .NET llamado IronXL facilita la manipulación de archivos Excel en C#. Con su amplio conjunto de funciones para leer, crear y editar archivos Excel, es una herramienta flexible adecuada para una gran variedad de usos. A continuación repasaré algunas de las principales características de IronXL:

  • Los desarrolladores pueden escribir datos rápidamente en archivos Excel nuevos o existentes y leer datos de archivos Excel existentes utilizando IronXL. Esto incluye el acceso a los atributos de la hoja de cálculo y del libro de trabajo, como el formato, las fórmulas y los valores de las celdas.
  • Con IronXL, los desarrolladores pueden importar datos a hojas de cálculo Excel desde diversas fuentes, como bases de datos y archivos CSV. Asimismo, la información de los archivos Excel puede exportarse a CSV, HTML, XML y PDF, entre otros formatos de archivo.
  • Los desarrolladores pueden añadir, editar y eliminar dinámicamente hojas de cálculo de hojas de cálculo de Excel utilizando IronXL. Esto proporciona flexibilidad a la organización y estructura de los datos en función de las necesidades de la aplicación.
  • IronXL permite manipular con precisión celdas individuales en hojas de cálculo de Excel. Mediante programación, los desarrolladores pueden establecer el formato, los estilos, las fórmulas, los valores de las celdas y otras características.

    Para más información sobre la documentación aquí.

Instalar IronXL

Comencemos instalando IronXL mediante la consola del gestor de paquetes NuGet antes de seguir avanzando:

Install-Package IronXL.Excel

Después de la instalación, IronXL puede ser utilizado en nuestro proyecto C#.

Uso de IronXL para operaciones en Excel

Examinemos una situación hipotética en la que deseamos utilizar IronXL para leer datos de un archivo de Excel.

En el siguiente ejemplo de código se ilustra rápidamente cómo conseguirlo:

using IronXL;
using System;
class Program
{
    static void Main(string [] args)
    {
        //  Ruta de acceso al archivo Excel
        string excelFilePath = "sample.xlsx";
        //  Cargar el archivo Excel
        WorkBook workbook = WorkBook.Load(excelFilePath);
        //  Acceder a la primera hoja de cálculo
        WorkSheet worksheet = workbook.WorkSheets [0];
        //  Iterar por filas y columnas para leer datos
        foreach (var row in worksheet.Rows)
        {
            foreach (var cell in row)
            {
                Console.Write(cell.Value + "\t");
            }
            Console.WriteLine();
        }
    }
}
using IronXL;
using System;
class Program
{
    static void Main(string [] args)
    {
        //  Ruta de acceso al archivo Excel
        string excelFilePath = "sample.xlsx";
        //  Cargar el archivo Excel
        WorkBook workbook = WorkBook.Load(excelFilePath);
        //  Acceder a la primera hoja de cálculo
        WorkSheet worksheet = workbook.WorkSheets [0];
        //  Iterar por filas y columnas para leer datos
        foreach (var row in worksheet.Rows)
        {
            foreach (var cell in row)
            {
                Console.Write(cell.Value + "\t");
            }
            Console.WriteLine();
        }
    }
}
Imports Microsoft.VisualBasic
Imports IronXL
Imports System
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		'  Ruta de acceso al archivo Excel
		Dim excelFilePath As String = "sample.xlsx"
		'  Cargar el archivo Excel
		Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
		'  Acceder a la primera hoja de cálculo
		Dim worksheet As WorkSheet = workbook.WorkSheets (0)
		'  Iterar por filas y columnas para leer datos
		For Each row In worksheet.Rows
			For Each cell In row
				Console.Write(cell.Value & vbTab)
			Next cell
			Console.WriteLine()
		Next row
	End Sub
End Class
VB   C#

En primer lugar, incluimos los espacios de nombres necesarios. Las clases y métodos ofrecidos por la biblioteca IronXL están contenidos en el espacio de nombres IronXL. La ruta al archivo Excel que deseamos leer (muestra.xlsx) se especifica. El Libro de Trabajo se utiliza para cargar el archivo Excel. El libro de Excel está representado por un objeto WorkBook que es devuelto por el comando Load() función. Utilizando el libro de trabajo, podemos acceder a la primera hoja de trabajo en el workbook.WorkSheets [0]. Utilizando bucles foreach anidados, recorremos las filas y columnas de la hoja de cálculo. Enviamos el valor de cada celda a la consola.

Cómo usar C# para convertir PowerPoint a imagen: Figura 7 - Salida de la consola.

Para más información sobre el código aquí.

Conclusión

En muchas aplicaciones de software, es necesario convertir presentaciones de PowerPoint a fotos utilizando C#. Utilizando o no el espacio de nombres Microsoft.Office.Interop.PowerPoint, el procedimiento puede completarse con bastante rapidez. Los ejemplos de código de este artículo le ayudarán a incluir la capacidad de conversión de PowerPoint a imágenes en sus aplicaciones C# con facilidad, creando una plétora de oportunidades para la distribución y modificación de la información.

Sin necesidad de instalar Excel en el equipo de destino ni depender de la biblioteca Interop, IronXL proporciona una forma rápida y eficaz de ejecutar operaciones de Excel en C#. Los desarrolladores que utilicen IronXL para tratar datos de Excel en sus aplicaciones C# lo encontrarán útil, ya que agiliza operaciones como la lectura, escritura y modificación de archivos de Excel gracias a su API de fácil uso y a su amplio conjunto de funciones. IronXL ofrece una solución fiable que aumenta la eficacia y la adaptabilidad en los proyectos de desarrollo relacionados con Excel, independientemente de si está creando informes, manejando datos o automatizando tareas de hojas de cálculo.

A prueba gratuita. Funcionan mejor y ofrecen más funciones y asistencia. Visite IronXL sitio web para obtener información completa y actualizada sobre la concesión de licencias. Visita esta página sitio web para obtener más información sobre los productos de Iron Software.

< ANTERIOR
Cómo girar un PDF 180 grados (Tutorial para principiantes)
SIGUIENTE >
Cómo utilizar C# para crear una presentación de PowerPoint

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 9,974,197 Ver licencias >
123