USO DE IRONZIP

Archivo ZIP en C# (Tutorial para desarrolladores con IronZip)

Chaknith Bin
Chaknith Bin
29 de noviembre, 2023
Compartir:

ZIP es un método popular para comprimir y consolidar eficientemente múltiples archivos y carpetas en un archivo ZIP unificado utilizando FileStream. Trabajar con estos archivos en C# es accesible utilizando el espacio de nombres IronZIP, que proporciona clases para crear y extraer ZIPs existentes desde una ruta o archivo individual contenido y manipular archivos ZIP. Tanto si está comprimiendo archivos, tratando con ZIPs protegidos por contraseña, o descomprimiendo archivos, la clase ZipFile dentro del espacio de nombres IronZIP se convierte en su inestimable aliado.

En este tutorial, no sólo exploramos los procesos fundamentales de creación y extracción de archivos ZIP, sino que también aprendemos ejemplos de código para lograrlo. La clase ZipArchive avanza sin problemas por la ruta de cadenas, lo que le permite navegar y manipular archivos ZIP con una precisión sin precedentes.

Además, más allá de la manipulación de archivos ZIP, también exploraremos IronPDF, una herramienta para comprimir archivos PDF sin comprometer la integridad del documento. Juntos, el tándem IronZIP e IronPDF equipa a los desarrolladores con un sólido conjunto de herramientas para gestionar eficazmente los archivos comprimidos y agilizar los PDF en el entorno C#.

Requisitos previos ##

Antes de explorar la manipulación de archivos ZIP con IronZIP e IronPDF, asegúrese de que se cumplen los siguientes requisitos previos:

  1. Visual Studio: Instale Visual Studio o cualquier otro Entorno de Desarrollo Integrado (IDE) de C# de su elección.

  2. Conocimientos básicos de C#: Familiarícese con los conceptos fundamentales del lenguaje de programación C#.

Instalar el paquete IronZIP ##

Para comenzar su viaje con IronZIP, instale rápidamente el paquete IronZIP NuGet en su proyecto. Ejecute el siguiente comando en la consola de NuGet Package Manager:

Install-Package IronZip

Alternativamente, descargue el paquete directamente desde el sitio web oficial de NuGet de IronZIP.

Una vez completada la instalación, inicie su código C# añadiendo la sentencia using IronZIP; en la parte superior.

Aplicar Clave de Licencia ###

Asegúrese de que tiene una licencia válida o una clave de prueba para IronZIP. Aplique la clave de licencia asignándola a la propiedad LicenseKey de la clase License. Incluya el siguiente código inmediatamente después de la sentencia import y antes de utilizar cualquier método IronZIP:

IronZip.Licensing.License.LicenseKey = "IRONZIP.MYLICENSE.KEY.1EF01";
IronZip.Licensing.License.LicenseKey = "IRONZIP.MYLICENSE.KEY.1EF01";
IronZip.Licensing.License.LicenseKey = "IRONZIP.MYLICENSE.KEY.1EF01"
$vbLabelText   $csharpLabel

Este paso es crucial para liberar todo el potencial de IronZIP en su proyecto.

Crear un archivo ZIP

Crear un archivo ZIP con IronZIP es muy sencillo. Utiliza la clase IronArchive para crear un archivo ZIP vacío y añadirle ficheros. El siguiente fragmento de código muestra la creación de un archivo ZIP llamado "Imágenes.zip" y la adición de cuatro archivos de imagen al mismo:

using IronZip;
namespace C__ZipArchive
{
    internal class Program
    {
        static void Main(string [] args)
        {
            using (var archive = new IronArchive("Images.zip"))
            {
                // Add files to the ZIP
                archive.Add(@"E:\Datasets\1002-v1.png");
                archive.Add(@"E:\Datasets\1002-v2.png");
                archive.Add(@"E:\Datasets\1002-v3.png");
                archive.Add(@"E:\Datasets\1002-v4.png");
            }
    }
}
using IronZip;
namespace C__ZipArchive
{
    internal class Program
    {
        static void Main(string [] args)
        {
            using (var archive = new IronArchive("Images.zip"))
            {
                // Add files to the ZIP
                archive.Add(@"E:\Datasets\1002-v1.png");
                archive.Add(@"E:\Datasets\1002-v2.png");
                archive.Add(@"E:\Datasets\1002-v3.png");
                archive.Add(@"E:\Datasets\1002-v4.png");
            }
    }
}
Imports IronZip
Namespace C__ZipArchive
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Using archive = New IronArchive("Images.zip")
				' Add files to the ZIP
				archive.Add("E:\Datasets\1002-v1.png")
				archive.Add("E:\Datasets\1002-v2.png")
				archive.Add("E:\Datasets\1002-v3.png")
				archive.Add("E:\Datasets\1002-v4.png")
			End Using
		End Sub
	End Class
$vbLabelText   $csharpLabel

La instrucción using crea una instancia delimitada de la clase IronArchive y la asocia con la variable archive. El constructor de IronArchive toma un argumento único: el nombre de un archivo ZIP. ("Images.zip" en este caso).

El código añade cuatro ficheros al archivo ZIP representado por la variable archive. Los archivos se especifican por sus rutas completas:

  • E:\Datasets\1002-v1.png
  • E:\Datasets\1002-v2.png
  • E:\Datasets\1002-v3.png
  • E:\Datasets\1002-v4.png

    Dado que la clase IronArchive implementa IDisposable, la sentencia using asegura que el archivo se cierra correctamente, y los recursos se liberan cuando se sale del bloque de código.

    De este modo, este programa crea un archivo ZIP llamado "Images.zip" y le añade cuatro archivos de imagen. IronZip lo ha hecho muy fácil, rápido y eficaz.

Extraer archivo ZIP

Podemos extraer un archivo zip utilizando una sola línea de código en C#.

using IronZip; //add references
public static void Main(string [] args)
{
    IronArchive.ExtractArchiveToDirectory("Images.zip", "Extracted Images");
}
using IronZip; //add references
public static void Main(string [] args)
{
    IronArchive.ExtractArchiveToDirectory("Images.zip", "Extracted Images");
}
Imports IronZip 'add references
Public Shared Sub Main(ByVal args() As String)
	IronArchive.ExtractArchiveToDirectory("Images.zip", "Extracted Images")
End Sub
$vbLabelText   $csharpLabel

El código anterior extrae el contenido del archivo ZIP llamado "Imágenes.zip". Los archivos extraídos se colocan en un directorio llamado "Imágenes extraídas". La clase IronArchive proporciona el método ExtractArchiveToDirectory para este propósito, lo que hace que la extracción del contenido de un archivo zip sea muy eficiente.

csharp-zip-library-tutorial-1 Esta línea de código maneja eficientemente el proceso de extracción, simplificando la gestión de archivos.

Agregar archivos a un archivo ZIP existente usando C

En las aplicaciones de software C#, añadir archivos a un archivo zip existente resulta muy útil para la gestión dinámica de contenidos. Imagine una aplicación de gestión de archivos en la que los usuarios puedan ampliar fácilmente un archivo comprimido añadiendo nuevos ficheros. IronZIP proporciona una funcionalidad perfecta para modificar cualquier archivo zip existente.

using (var archive = IronArchive.FromFile("Images.zip", "NewImages.zip"))
{
    // Add files
    archive.Add(@"E:\Datasets\1011-v1.png");
    archive.Add(@"E:\Datasets\1011-v2.png");
}
using (var archive = IronArchive.FromFile("Images.zip", "NewImages.zip"))
{
    // Add files
    archive.Add(@"E:\Datasets\1011-v1.png");
    archive.Add(@"E:\Datasets\1011-v2.png");
}
Using archive = IronArchive.FromFile("Images.zip", "NewImages.zip")
	' Add files
	archive.Add("E:\Datasets\1011-v1.png")
	archive.Add("E:\Datasets\1011-v2.png")
End Using
$vbLabelText   $csharpLabel

El método IronArchive.FromFile("Images.zip", "NewImages.zip") crea un objeto de archivo a partir de un archivo ZIP existente llamado "Images.zip" y especifica que el nuevo archivo debe llamarse "NewImages.zip".

Las dos líneas dentro del bloque using añaden ficheros al archivo recién creado:

  • archive.Add(@"E:\Datasets\1011-v1.png");
  • archive.Add(@"E:\Datasets\1011-v2.png");

    Estas líneas añaden los archivos de imagen especificados al archivo "NewImages.zip".

    Sistema de archivos

Comprimir archivo PDF

Además de gestionar archivos ZIP, C# también ofrece la posibilidad de comprimir archivos PDF sin problemas. Esta tarea se hace posible con la ayuda de una biblioteca de terceros: IronPDF. Se destaca como una solución confiable para comprimir PDFs mientras se preserva su calidad.

Presentando IronPDF

IronPDF es una versátil biblioteca de C# diseñada para empoderar a los desarrolladores en el manejo eficiente de documentos PDF dentro de sus aplicaciones .NET. Ofrece muchas funciones, como generación y manipulación de PDF, extracción de texto e imágenes, gestión de formularios, firmas digitales, conversión de HTML a PDF, compresión de PDF y mejoras de seguridad. Estas capacidades lo convierten en una herramienta inestimable para tareas como la creación y edición de PDF, la generación de informes y la gestión de documentos dentro del .NET Framework, garantizando la productividad y la posibilidad de personalizar las operaciones con PDF.

Instalar IronPDF

Para incorporar IronPDF a su proyecto, ejecute el siguiente comando en la consola del gestor de paquetes:

Install-Package IronZip

Escribe un código para comprimir un archivo PDF en C

El siguiente ejemplo de código demuestra la compresión de archivos PDF manteniendo la calidad del archivo.

using IronPdf;

static void Main(string [] args)
{
    var pdf = new PdfDocument(@"E:\myPDF.pdf");
    // Quality parameter can be 1-100, where 100 is 100% of original quality
    pdf.CompressImages(60);
    pdf.SaveAs(@"E:\myCompressedPDF.pdf");
}
using IronPdf;

static void Main(string [] args)
{
    var pdf = new PdfDocument(@"E:\myPDF.pdf");
    // Quality parameter can be 1-100, where 100 is 100% of original quality
    pdf.CompressImages(60);
    pdf.SaveAs(@"E:\myCompressedPDF.pdf");
}
Imports IronPdf

Shared Sub Main(ByVal args() As String)
	Dim pdf = New PdfDocument("E:\myPDF.pdf")
	' Quality parameter can be 1-100, where 100 is 100% of original quality
	pdf.CompressImages(60)
	pdf.SaveAs("E:\myCompressedPDF.pdf")
End Sub
$vbLabelText   $csharpLabel

En el código anterior, hemos abierto "miPDF.pdf" utilizando IronPDF. El método 'CompressImages' reduce la calidad de la imagen al 60%, y el PDF comprimido se guarda como "myCompressedPDF.pdf" en la ubicación especificada.

Output ###

La ejecución del código anterior produce una reducción tangible en el tamaño del archivo, como se evidencia en la salida, donde el tamaño del PDF comprimido se reduce a 254 KB desde su tamaño original de 0,9 MB. Esto demuestra la eficacia de IronPDF en la compresión eficiente de archivos PDF sin comprometer su calidad.

Comparación de Tamaño de Archivo

Gestión eficiente de archivos con IronZIP e IronPDF en C

En el desarrollo en C#, la combinación entre IronZIP e IronPDF presenta una solución robusta para la gestión integral de archivos. IronZIP destaca en la compresión y manipulación eficaz de archivos ZIP, ofreciendo a los desarrolladores una experiencia perfecta para crear y extraer archivos comprimidos. Al mismo tiempo, IronPDF sirve como una potente herramienta para manejar documentos PDF, permitiendo la compresión de archivos mientras se mantiene la integridad del documento. Esta integración permite a los desarrolladores navegar sin esfuerzo entre archivos comprimidos y archivos PDF, mejorando la funcionalidad y el rendimiento generales de sus aplicaciones.

Tanto si se trata de comprimir diversos ficheros en un archivo ZIP como de optimizar el tamaño de documentos PDF, la potencia combinada de IronZIP e IronPDF forma un conjunto de herramientas flexibles para desarrolladores, que abordan una serie de retos relacionados con los ficheros.

Conclusión

En conclusión, IronZIP para C# ofrece capacidades robustas para trabajar con archivos comprimidos, permitiendo a los desarrolladores crear archivos ZIP y extraer y manipular archivos de manera eficiente. IronPDF también es una potente herramienta para comprimir archivos PDF, lo que facilita la reducción del tamaño de los archivos manteniendo la integridad del documento. Los desarrolladores pueden aprovechar estas funciones para mejorar el rendimiento y la funcionalidad de sus aplicaciones, garantizando el manejo sin problemas de archivos comprimidos y archivados. Además, vale la pena señalar que IronPDF ofrece un modelo de licenciamiento flexible, incluyendo una prueba gratuita, lo que permite a los desarrolladores explorar sus capacidades y determinar el mejor ajuste para sus proyectos. Este periodo de prueba ofrece una valiosa oportunidad para que los desarrolladores evalúen las características de IronZIP IronPDF antes de comprometerse con la licencia.

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.
< ANTERIOR
Cómo crear un archivo Zip en C#
SIGUIENTE >
Cómo extraer archivos Zip en C#

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

Ver licencias >