COMPARACIóN CON OTROS COMPONENTES

Tutorial de archivo Zip para desarrolladores de C# que utilizan IronXL

Publicado en 30 de octubre, 2023
Compartir:

Los archivos ZIP son un formato popular para comprimir y empaquetar un único archivo o una colección completa de varios archivos en un único contenedor de paquetes ZIP o archivo ZIP. En C#, puede trabajar fácilmente con archivos ZIP utilizando el espacio de nombres System.IO.Compression, que proporciona clases como ZipArchive y ZipFile para realizar diversas operaciones en archivos ZIP. En este tutorial, exploraremos cómo crear archivos ZIP, extraer datos de archivos comprimidos y manipular archivos ZIP en C# utilizando la ruta relativa.

Requisitos previos

  1. Conocimientos básicos de programación en C#.

  2. Visual Studio o cualquier entorno de desarrollo C#.

Paso 1: Crear un nuevo C# Proyecto

Abra su entorno de desarrollo C# y cree un nuevo proyecto C# para implementar la funcionalidad de archivo Zip y fichero de texto comprimido utilizando ZipArchive archive=new ZipArchive(). Puede elegir una aplicación de consola o cualquier otro tipo de proyecto adecuado para su caso de uso.

Paso 2: Crear un archivo Zip a partir de una carpeta en C

Podemos crear fácilmente un nuevo archivo Zip a partir de un directorio existente utilizando `ZipFile.CreateFromDirectory()como se muestra en el siguiente ejemplo.

static void Main(string [] args)
{
ZipFile.CreateFromDirectory(@"D:\Certificate", @"D:\Certificate.zip", CompressionLevel.SmallestSize, true);
}
static void Main(string [] args)
{
ZipFile.CreateFromDirectory(@"D:\Certificate", @"D:\Certificate.zip", CompressionLevel.SmallestSize, true);
}
Shared Sub Main(ByVal args() As String)
ZipFile.CreateFromDirectory("D:\Certificate", "D:\Certificate.zip", CompressionLevel.SmallestSize, True)
End Sub
VB   C#

El primer parámetro @"D:\Certificado" especifica el directorio fuente a comprimir, mientras que el segundo parámetro @"D:\Certificado.zip" designa la ubicación y el nombre del archivo ZIP resultante. El tercer parámetro CompressionLevel.SmallestSize determina el nivel de compresión, con SmallestSize indicando el tamaño de archivo más pequeño aunque lleve más tiempo comprimir los datos binarios. El cuarto parámetro, true, especifica si se conserva la estructura de directorios y el sistema de ficheros dentro del archivo ZIP, asegurando que se mantiene la estructura de la carpeta.

Paso 3: Actualizar un archivo Zip en C#

En el siguiente ejemplo, ilustraremos el proceso de trabajar con un archivo ZIP existente en C#. Específicamente, exploraremos cómo abrir un paquete ZIP ya creado usando ZipArchive archive=zipfile.openread, modificar su contenido, y anexar un nuevo archivo y un archivo existente.

 using (FileStream zipToOpen = new FileStream(@"D:\Invoices.zip", FileMode.Open))
 {
//var archive= new ZipArchive
     using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
     {
         archive.CreateEntryFromFile(@"D:/Invoice.pdf", "Invoices/myInvoice.pdf");
         ZipArchiveEntry entry = archive.CreateEntry("Readme.txt");
//using StreamWriter writer=new StreamWriter
         using (StreamWriter writer = new StreamWriter(entry.Open()))
         {
            writer.WriteLine("This folder contains the file compressed using C#");
            writer.WriteLine("========================");
         }
     }
 }
 using (FileStream zipToOpen = new FileStream(@"D:\Invoices.zip", FileMode.Open))
 {
//var archive= new ZipArchive
     using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
     {
         archive.CreateEntryFromFile(@"D:/Invoice.pdf", "Invoices/myInvoice.pdf");
         ZipArchiveEntry entry = archive.CreateEntry("Readme.txt");
//using StreamWriter writer=new StreamWriter
         using (StreamWriter writer = new StreamWriter(entry.Open()))
         {
            writer.WriteLine("This folder contains the file compressed using C#");
            writer.WriteLine("========================");
         }
     }
 }
Using zipToOpen As New FileStream("D:\Invoices.zip", FileMode.Open)
'var archive= new ZipArchive
	 Using archive As New ZipArchive(zipToOpen, ZipArchiveMode.Update)
		 archive.CreateEntryFromFile("D:/Invoice.pdf", "Invoices/myInvoice.pdf")
		 Dim entry As ZipArchiveEntry = archive.CreateEntry("Readme.txt")
'using StreamWriter writer=new StreamWriter
		 Using writer As New StreamWriter(entry.Open())
			writer.WriteLine("This folder contains the file compressed using C#")
			writer.WriteLine("========================")
		 End Using
	 End Using
End Using
VB   C#

El código anterior abre un archivo ZIP existente en "D:\Facturas.zip" en modo lectura, utilizando un FileStream, y crea un ZipArchive en modo actualización para leer y modificar el contenido del archivo. A continuación, emplea el método CreateEntryFromFile para añadir "Factura.pdf" desde "D:" al archivo, colocándolo dentro del directorio "Facturas" y nombrándolo "miFactura.pdf".

Directorio de facturas

Paso #4: Extraer un archivo Zip

El siguiente código C# extrae el contenido de un archivo ZIP a un directorio especificado.

ZipFile.ExtractToDirectory(@"D:\Certificate.zip", @"D:\ExtractedCertificate");
ZipFile.ExtractToDirectory(@"D:\Certificate.zip", @"D:\ExtractedCertificate");
ZipFile.ExtractToDirectory("D:\Certificate.zip", "D:\ExtractedCertificate")
VB   C#

Las líneas de código anteriores descomprimen ficheros del archivo ZIP. Especifica el archivo ZIP de origen ubicado en "D:\Certificado.zip" y designa el directorio de destino como "D:\CertificadoExtraído". El código descomprime el archivo y coloca su contenido en el directorio especificado. Puede proporcionar la ruta absoluta o relativa del directorio en el que está trabajando para crear un archivo de texto comprimido.

Presentación de IronPDF

IronPDF es una biblioteca C# versátil y potente que simplifica la creación, manipulación y representación de documentos PDF en aplicaciones .NET. Proporciona a los desarrolladores las clases y métodos necesarios para generar, editar y convertir fácilmente archivos PDF en sus proyectos C#. Tanto si necesita crear informes en PDF como facturas o formularios interactivos, IronPDF ofrece una amplia gama de funciones y capacidades, lo que la convierte en una biblioteca indispensable para empresas y desarrolladores que requieren una funcionalidad PDF completa en sus aplicaciones .NET. Con IronPDF, puede integrar a la perfección la generación y manipulación de PDF en sus aplicaciones C#, lo que permite la gestión eficaz de diversas tareas relacionadas con PDF.

Características de IronPDF

IronPDF ofrece un completo conjunto de funciones y capacidades para trabajar con archivos PDF en aplicaciones C#. Algunas de sus principales características son:

Generación de PDF: Puede crear fácilmente nuevos documentos PDF o modificar los existentes utilizando una amplia gama de textos, imágenes y elementos gráficos.

Conversión de HTML a PDF: Convierta páginas HTML, URL o incluso contenido HTML sin procesar a PDF con una renderización de alta fidelidad. Esto resulta especialmente útil para generar informes o capturar contenidos web.

Renderizado de PDF: Renderice PDFs para su visualización en aplicaciones, permitiéndole ver e interactuar con documentos PDF directamente dentro de su programa C#.

Edición de PDF: Modifique documentos PDF existentes añadiendo, eliminando o actualizando texto, imágenes y otros contenidos. También puede manipular el diseño y la estructura de la página.

Formularios PDF: Cree, rellene y extraiga datos de formularios PDF interactivos, lo que facilita el trabajo con encuestas, cuestionarios y otras aplicaciones de captura de datos.

Cifrado de PDF: Proteja los PDF cifrándolos con varios algoritmos de cifrado y estableciendo permisos de visualización, edición e impresión.

Extracción de texto PDF: Extraiga texto y datos de documentos PDF, lo que simplifica el análisis sintáctico y el análisis de contenido para la indexación, la búsqueda o la extracción de datos.

Compatibilidad con imágenes y gráficos: Añada y manipule imágenes, formas y elementos gráficos en los PDF, lo que permite un contenido visual enriquecido.

Impresión PDF: Imprima PDF directamente desde su aplicación C# en impresoras físicas o virtuales.

Formato de texto avanzado: Aplique varios estilos de fuente, colores y opciones de formato al texto de sus documentos PDF.

Fusión y división de PDF: Combine varios documentos PDF en uno o divida un PDF grande en secciones más pequeñas según sea necesario.

Accesibilidad PDF: Asegúrese de que sus documentos PDF son accesibles para personas con discapacidad añadiendo funciones de accesibilidad como etiquetas y texto alternativo.

Soporte multiplataforma: IronPDF funciona en entornos Windows, Mac y Linux, lo que le permite crear aplicaciones multiplataforma.

Opciones de licencia: IronPDF ofrece flexibilidadopciones de licenciaque incluyen versiones de prueba gratuitas, para que los desarrolladores elijan la que mejor se adapte a sus necesidades.

Conclusión

En conclusión, trabajar con archivos ZIP en C# ofrece un valioso conjunto de herramientas para diversos escenarios, desde la compresión de archivos para su almacenamiento o distribución hasta la gestión eficaz de datos. Tanto si está creando, extrayendo o manipulando archivos ZIP, el espacio de nombres System.IO.Compression proporciona un conjunto de herramientas potentes y fáciles de usar. Además, aunque los archivos ZIP son esenciales para gestionar las tareas relacionadas con los archivos, cabe destacar que en escenarios más amplios de generación de documentos e informes, las bibliotecas como IronPDF amplían las capacidades de las aplicaciones C#, ofreciendo una generación, edición y renderización completas de PDF, lo que la convierte en una opción sólida para requisitos centrados en documentos más complejos. Al combinar las funciones nativas de archivo ZIP de C# con las funcionalidades avanzadas de PDF de IronPDF, los desarrolladores pueden crear soluciones de gestión de documentos versátiles y completas para satisfacer sus diversas necesidades.

< ANTERIOR
Comparación entre IronXL y GemBox.Spreadsheet
SIGUIENTE >
EPPlus Leer Excel a Datatable C# (IronXL Tutorial)

¿Listo para empezar? Versión: 2024.11 acaba de salir

Descarga gratuita de NuGet Descargas totales: 1,111,773 Ver licencias >