Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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.
Crear instancia de aplicación PowerPoint.
Abrir Presentación utilizando la Instancia.
Compruebe y cree una carpeta de salida.
Iterar a través de diapositivas y exportar diapositivas a imágenes.
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.
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.
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.
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.
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.
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).
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
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.
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.
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, utilizamos
pptPresentationpara exportar la diapositiva de PowerPoint como imagen(en este ejemplo, en formato de imagen JPG, imagen PNG) mediante el botón
Exportar()función. Los parámetros son el formato de imagen("Formato "png) y tamaño(ancho: 1024, alto: 768). Por último, utilizamos
pptPresentationpara finalizar la presentación. Cerrar() y utilice
pptApplicationpara finalizar la sesión de PowerPoint. Para renunciar adecuadamente a los recursos del sistema, utilice
Quit()`.
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:
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.
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#.
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
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.
Para obtener más información sobre el código, consulteEjemplos de IronXL Read Excel.
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.
9 productos API .NET para sus documentos de oficina