Renderizar archivos ZIP usando C#

Los archivos ZIP contienen uno o más archivos o carpetas comprimidos para actuar como un solo archivo. Estos son ampliamente utilizados para ahorrar espacio de almacenamiento y aumentar el rendimiento de sus computadoras. Puede transferir efectivamente sus archivos y carpetas en un archivo ZIP de una ubicación a otra. Como desarrollador de C#, puede renderizar fácilmente archivos ZIP y ver su contenido mediante programación. Este artículo se centrará en cómo renderizar archivos ZIP usando C#.

Los siguientes temas se discuten/tratan en este artículo:

API de C# para ver archivos ZIP

Para la representación de archivos ZIP, usaré GroupDocs.Viewer para .NET API. Es una poderosa API de visor de documentos que admite más de 170 tipos de archivos y documentos. La API proporciona la solución de visualización de documentos más flexible para representar y mostrar formatos de archivo ampliamente utilizados en cualquier lugar sin instalar ningún software externo. También le permite ver rápidamente PDF, HTML, XML, Microsoft Office Word, hojas de cálculo de Excel, presentaciones de PowerPoint, correos electrónicos de Outlook, diagramas de Visio, proyectos, metarchivos, imágenes y varios otros formatos de archivo con facilidad y con menos riesgos de programación.

Puede descargar la DLL de la API o instalarla mediante NuGet.

Install-Package GroupDocs.Viewer

Renderizar archivos ZIP en HTML

Puede renderizar el archivo ZIP en HTML siguiendo los sencillos pasos que se indican a continuación:

  1. Crea una instancia de la clase Viewer
  2. Proporcione la ruta del archivo de entrada
  3. Cree una instancia de la clase HtmlViewOptions
  4. Proporcione la ruta del archivo de salida
  5. Llame al método View() y pase HtmlViewOptions

El siguiente ejemplo de código muestra cómo representar el archivo ZIP en HTML usando C#.

// inicializar visor
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// definir opciones de vista HTML
HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources("C:\\Files\\output.html");
viewOptions.RenderToSinglePage = true;

// crear vista
viewer.View(viewOptions);
Renderizar archivos ZIP en HTML

Renderizar archivos ZIP en HTML

La clase Viewer es la clase principal que proporciona funcionalidad para controlar el proceso de representación del documento. El método View() de esta clase crea la vista de todas las páginas del documento.

La clase HtmlViewOptions proporciona opciones para la representación de documentos en formato HTML. El método constructor ForEmbeddedResources crea una nueva instancia de la clase HtmlViewOptions para representar en HTML con recursos incrustados. Como puede ver, proporcioné la ruta del archivo de salida en el ejemplo de código.

Puede encontrar más detalles sobre “Visor de documentos HTML” en la documentación.

Renderizar carpeta específica de archivos ZIP en HTML

Puede hacer que una carpeta específica esté disponible dentro del archivo ZIP en HTML siguiendo los sencillos pasos que se indican a continuación:

  1. Crea una instancia de la clase Viewer
  2. Proporcione la ruta del archivo de entrada
  3. Cree una instancia de la clase HtmlViewOptions
  4. Proporcione la ruta del archivo de salida
  5. Establecer el nombre de la carpeta para renderizar
  6. Llame al método View() y pase HtmlViewOptions

El siguiente ejemplo de código muestra cómo representar una carpeta específica del archivo ZIP en HTML usando C#.

// inicializar visor
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// definir opciones de vista HTML
HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources("C:\\Files\\output.html");
// establecer el nombre de la carpeta
viewOptions.ArchiveOptions.Folder = "ThirdFolderWithItems";

// crear vista
viewer.View(viewOptions);
Renderizar carpeta específica de archivos ZIP en HTML

Renderizar carpeta específica de archivos ZIP en HTML

La clase ArchiveOptions proporciona opciones para la representación de archivos de almacenamiento. Le permite renderizar una carpeta específica desde archivos ZIP proporcionando el nombre de la carpeta disponible dentro del archivo.

Ver contenido de archivos ZIP en PDF

Puede convertir el archivo ZIP en un documento PDF siguiendo los sencillos pasos que se indican a continuación:

  1. Crea una instancia de la clase Viewer
  2. Proporcione la ruta del archivo de entrada
  3. Cree una instancia de la clase PdfViewOptions
  4. Proporcione la ruta del archivo de salida
  5. Llame al método View() y pase PdfViewOptions

El siguiente ejemplo de código muestra cómo representar el archivo ZIP en PDF usando C#.

// inicializar visor
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// definir las opciones de visualización de PDF
PdfViewOptions options = new PdfViewOptions("C:\\Files\\output.pdf");

// crear vista
viewer.View(viewOptions);
Ver contenido de archivos ZIP en PDF

Ver contenido de archivos ZIP en PDF

La clase PdfViewOptions proporciona opciones para la representación de documentos en formato PDF. Puede encontrar más detalles sobre “Visor de documentos PDF” en la documentación.

Renderizar archivos ZIP a JPG

Puede renderizar el archivo ZIP en una imagen JPG siguiendo los sencillos pasos que se indican a continuación:

  1. Crea una instancia de la clase Viewer
  2. Proporcione la ruta del archivo de entrada
  3. Cree una instancia de la clase JpgViewOptions
  4. Proporcione la ruta del archivo de salida
  5. Llame al método View() y pase JpgViewOptions

El siguiente ejemplo de código muestra cómo representar el archivo ZIP en una imagen JPG usando C#.

// inicializar visor
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// definir las opciones de visualización de JPG
JpgViewOptions options = new JpgViewOptions("C:\\Files\\output_page_{0}.jpg");

// crear vista
viewer.View(viewOptions);
Renderizar archivos ZIP a JPG

Renderizar archivos ZIP a JPG

Puede renderizar documentos a formatos de imagen JPG o PNG. La clase JpgViewOptions proporciona opciones para la representación de documentos en formato JPG. De manera similar, la clase PngViewOptions proporciona opciones para representar documentos en formato PNG.

Puede encontrar más detalles sobre “Visor de imágenes del documento” en la documentación.

Obtener una lista de carpetas de archivos ZIP

Puede obtener una lista de todas las carpetas y subcarpetas del archivo ZIP mediante programación siguiendo los pasos que se indican a continuación:

  1. Crea una instancia de la clase Viewer
  2. Proporcione la ruta del archivo de entrada
  3. Crear ViewInfoOptions
  4. Cree una instancia de ViewInfo llamando al método GetViewInfo()
  5. Obtener ArchiveViewInfo
  6. Mostrar los resultados

El siguiente ejemplo de código muestra cómo obtener una lista de carpetas del archivo ZIP usando C#.

// inicializar visor
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// crear opciones de información de vista
ViewInfoOptions viewInfoOptions = ViewInfoOptions.ForHtmlView();
ViewInfo viewInfo = viewer.GetViewInfo(viewInfoOptions);

Console.WriteLine("File type: " + viewInfo.FileType);
Console.WriteLine("Pages count: " + viewInfo.Pages.Count);
Console.WriteLine("Folders: ");
Console.WriteLine(" - /");

string rootFolder = string.Empty;
viewInfoOptions.ArchiveOptions.Folder = rootFolder;

// obtener ver información
ArchiveViewInfo viewFolderInfo = viewer.GetViewInfo(viewInfoOptions) as ArchiveViewInfo;

foreach (string subFolder in viewFolderInfo.Folders)
{
    Console.WriteLine($" - {subFolder}");
    PrintFolders(viewer, subFolder);
}
Obtener una lista de carpetas de archivos ZIP

Obtener una lista de carpetas de archivos ZIP

La clase ViewInfoOptions proporciona opciones que se utilizan para recuperar la información sobre la vista. Proporciona varios métodos para obtener información de vista para formatos específicos. Usé el método ForHtmlView() que inicializa una nueva instancia de la clase ViewInfoOptions para recuperar información sobre la vista cuando se procesa en HTML.

La clase ViewInfo proporciona información de vista para los documentos genéricos. El método GetViewInfo() de la clase Viewer devuelve información sobre la vista e información específica del documento.

La clase ArchiveViewInfo proporciona información de vista para el archivo de almacenamiento.

Renderizar y renombrar archivos ZIP

Puede cambiar el nombre de los archivos ZIP mientras se procesan mediante programación siguiendo los pasos que se detallan a continuación:

  1. Crea una instancia de la clase Viewer
  2. Proporcione la ruta del archivo de entrada
  3. Cree una instancia de la clase PdfViewOptions
  4. Proporcione la ruta del archivo de salida
  5. Establecer nuevo nombre de archivo para mostrar
  6. Llame al método View() y pase PdfViewOptions

El siguiente ejemplo de código muestra cómo cambiar el nombre del archivo ZIP mientras se renderiza con C#.

// inicializar visor
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// definir las opciones de visualización de PDF
PdfViewOptions viewOptions = new PdfViewOptions("C:\\Files\\output.pdf");
// establecer un nuevo nombre de archivo
viewOptions.ArchiveOptions.FileName = new FileName("MyFiles");

viewer.View(viewOptions);
Renderizar y renombrar archivos ZIP

Renderizar y renombrar archivos ZIP

La clase ArchiveOptions proporciona la propiedad FileName que se utiliza para mostrar el nombre del archivo en el encabezado. Puede establecer un nuevo nombre para mostrar como se muestra en el ejemplo de código anterior. De forma predeterminada, muestra el nombre del archivo de origen.

Obtenga una licencia gratis

Puede probar la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.

Conclusión

En este artículo, aprendió cómo renderizar archivos ZIP usando C#. También aprendió cómo convertir y ver el contenido de archivos ZIP en imágenes HTML, PDF y JPG. Además, ha aprendido cómo obtener una lista de carpetas y subcarpetas del archivo ZIP mediante programación en C#. Puede obtener más información sobre GroupDocs.Viewer para la API de .NET utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también