HERRAMIENTAS PDF

Cómo utilizar C# para convertir PowerPoint a imagen

Publicado en 12 de marzo, 2024
Compartir:

Introducción

La necesidad de convertirPowerPoint 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 presentaciones 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. Al convertir las presentaciones de PowerPoint en imágenes, se ofrece una solución integral que resulta sencilla de compartir y visualizar en diversos dispositivos y aplicaciones.

Uso de la biblioteca PowerPoint Interop

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

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 instaladoVisual 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 Create New Project, seleccione el lenguaje de programación C# y Console App. Configure el nombre y la ubicación del proyecto y, 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 usar C# para convertir PowerPoint a imagen: Figura 3 - Seleccione el .NET Framework apropiado y haga clic en el botón Crear.

Convertir 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"; // Path to your PowerPoint file
        string outputFolder = "output_images"; // Output folder path where images will be saved
        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);
        //saving the presentation slides into png images
        }
        pptPresentation.Close();
        pptApplication.Quit();
    }
}
using System.IO;
using Microsoft.Office.Interop.PowerPoint;
class Program
{
    static void Main(string [] args)
    {
        string pptFilePath = "demo.pptx"; // Path to your PowerPoint file
        string outputFolder = "output_images"; // Output folder path where images will be saved
        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);
        //saving the presentation slides into png images
        }
        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" ' Path to your PowerPoint file
		Dim outputFolder As String = "output_images" ' Output folder path where images will be saved
		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)
		'saving the presentation slides into png images
		Next i
		pptPresentation.Close()
		pptApplication.Quit()
	End Sub
End Class
VB   C#

El espacio de nombres de C# necesario para trabajar con aplicaciones de PowerPoint se importa mediante la declaración Microsoft.Office.Interop.PowerPoint;. 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(pptRutaDeArchivo). Este método se encarga de la transformación real de las presentaciones de PowerPoint en fotos.

Archivo de presentación 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 comando 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 presentación pptPresentation proporciona el número total de diapositivas utilizando la propiedad Slides.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 Diapositivas{i}.png). A continuación, utilizamospptPresentationpara exportar la diapositiva de PowerPoint como imagen(en este ejemplo, en formato de imagen JPG, imagen PNG) mediante el botónExportar()función. Los parámetros son el formato de imagen("Formato "png) y tamaño(ancho: 1024, alto: 768). Por último, utilizamospptPresentationpara finalizar la presentación. Cerrar() y utilicepptApplicationpara finalizar la sesión de PowerPoint. Para renunciar adecuadamente a los recursos del sistema, utiliceQuit()`.

Salida - Convertir un PowerPoint en imágenes PNG

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

IronXL

Un conocido framework .NET llamadoIronXL 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 utilizandoIronXL. 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 obtener más información sobre la documentación, consulte la páginaDocumentación de IronXL.

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.

El siguiente ejemplo de código ilustra rápidamente cómo conseguirlo:

using IronXL;
using System;
class Program
{
    static void Main(string [] args)
    {
        // Path to the Excel file
        string excelFilePath = "sample.xlsx";
        // Load the Excel file
        WorkBook workbook = WorkBook.Load(excelFilePath);
        // Access the first worksheet
        WorkSheet worksheet = workbook.WorkSheets[0];
        // Iterate through rows and columns to read data
        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)
    {
        // Path to the Excel file
        string excelFilePath = "sample.xlsx";
        // Load the Excel file
        WorkBook workbook = WorkBook.Load(excelFilePath);
        // Access the first worksheet
        WorkSheet worksheet = workbook.WorkSheets[0];
        // Iterate through rows and columns to read data
        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)
		' Path to the Excel file
		Dim excelFilePath As String = "sample.xlsx"
		' Load the Excel file
		Dim workbook As WorkBook = WorkBook.Load(excelFilePath)
		' Access the first worksheet
		Dim worksheet As WorkSheet = workbook.WorkSheets(0)
		' Iterate through rows and columns to read data
		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(sample.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. Usando el libro de trabajo, podemos acceder a la primera hoja de trabajo usando 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 obtener más información sobre el código, consulteEjemplos de IronXL Read Excel.

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.

Aprueba gratuita de IronXL que incluye amplias funciones y asistencia. Visite elInformación sobre licencias de IronXL para obtener información completa y actualizada sobre la concesión de licencias. Visite elSitio web de Iron Software 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.12 acaba de salir

Descarga gratuita de NuGet Descargas totales: 11,622,374 Ver licencias >