Passer au contenu du pied de page
UTILISER IRONZIP

Comment Extraire Un Fichier Zip en C#

Les fichiers Zip sont une méthode populaire pour compresser plusieurs fichiers ou répertoires en un seul format d'archive Zip, et les extraire est une opération fondamentale dans de nombreuses applications logicielles. Dans le monde de C#, travailler avec des archives Zip est facile avec l'espace de noms IronZip. Cet article explorera comment extraire des fichiers Zip en utilisant C# et examinera les outils et techniques disponibles.

Dans le système de fichiers, où l'organisation et le stockage des données sont primordiaux, la capacité à décompresser les fichiers sans accroc devient une compétence critique. Utiliser le système efficacement pour gérer tous les fichiers dans un répertoire spécifié est essentiel pour des opérations rationalisées. Un outil puissant dans ce contexte est la classe ZipArchive, une fonctionnalité robuste en C# qui facilite l'extraction efficace de fichiers compressés. Cet article vous guidera à travers les subtilités de l'utilisation de la classe ZipArchive, en éclairant les concepts essentiels tels que les en-têtes de fichiers locaux des fichiers zippés.

Prérequis

Avant d'explorer la manipulation de fichiers ZIP avec IronZIP et IronPDF, assurez-vous que les prérequis suivants sont remplis :

  1. Visual Studio : Installez Visual Studio ou tout autre environnement de développement intégré C# (EDI) de votre choix.
  2. Connaissance de base de C# : Familiarisez-vous avec les concepts fondamentaux du langage de programmation C#.

Installer le package IronZIP

Pour commencer votre aventure avec IronZIP, installez rapidement le package NuGet IronZIP dans votre projet. Exécutez la commande suivante dans la console du gestionnaire de packages NuGet :

Install-Package IronZip

Alternativement, téléchargez le package directement sur le site officiel de NuGet IronZIP.

Une fois l'installation terminée, initiez votre code C# en ajoutant l'instruction using IronZIP en haut.

Appliquer une clé de licence

Assurez-vous d'avoir une licence valide ou une clé d'essai pour IronZIP. Appliquez la clé de licence en l'assignant à la propriété LicenseKey de la classe License. Incluez le code suivant immédiatement après l'instruction d'importation et avant d'utiliser toute méthode 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

Cette étape est cruciale pour libérer le plein potentiel de IronZIP dans votre projet.

Utiliser C# pour extraire ou compresser des fichiers Zip

Les exemples de code suivants démontrent comment travailler avec des fichiers Zip en C#, que vous souhaitiez compresser ou extraire un fichier.

Extraire un fichier Zip en utilisant C#

L'exemple de code suivant décompressera des fichiers dans un nouveau répertoire en utilisant IronZIP.

using IronZIP;

namespace CS_ZipArchive
{
    internal class Program
    {
        public static void Main(string[] args)
        {       
            // Extract the contents of "QRCode.zip" into the "Extracted QRCode" directory
            IronArchive.ExtractArchiveToDirectory("QRCode.zip", "Extracted QRCode");
        }
     }
}
using IronZIP;

namespace CS_ZipArchive
{
    internal class Program
    {
        public static void Main(string[] args)
        {       
            // Extract the contents of "QRCode.zip" into the "Extracted QRCode" directory
            IronArchive.ExtractArchiveToDirectory("QRCode.zip", "Extracted QRCode");
        }
     }
}
Imports IronZIP

Namespace CS_ZipArchive
	Friend Class Program
		Public Shared Sub Main(ByVal args() As String)
			' Extract the contents of "QRCode.zip" into the "Extracted QRCode" directory
			IronArchive.ExtractArchiveToDirectory("QRCode.zip", "Extracted QRCode")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Le code ci-dessus utilise la bibliothèque IronZIP, qui offre des fonctionnalités pour travailler avec des archives ZIP en C#. Cette ligne vise à extraire le contenu d'un fichier d'archive ZIP nommé "QRCode.zip" et à les enregistrer dans un répertoire nommé "Extracted QRCode". La méthode ExtractArchiveToDirectory() est responsable de l'extraction du contenu d'une archive ZIP. Elle prend deux arguments : le fichier source et la destination.

csharp-extract-zip-file-tutorial-1

Créer un fichier d'archive

Pour créer un fichier ZIP en C#, nous pouvons utiliser la classe IronArchive trouvée dans l'espace de noms IronZIP. Cette classe facilite la création d'une archive ZIP et l'inclusion de fichiers en son sein. En employant IronArchive, les développeurs peuvent facilement gérer la création de fichiers ZIP dans leurs programmes C#, améliorant l'efficacité et simplifiant le processus de gestion des fichiers.

using IronZIP;

namespace CS_ZipArchive
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Create a new ZIP file named "myPDFFiles.zip"
            using (var archive = new IronArchive("myPDFFiles.zip"))
            {
                // Add files to the ZIP
                archive.Add(@"E:\Files\file1.pdf");
                archive.Add(@"E:\Files\file2.pdf");
                archive.Add(@"D:\Invoices\Invoice.pdf");
            }
        }
    }
}
using IronZIP;

namespace CS_ZipArchive
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Create a new ZIP file named "myPDFFiles.zip"
            using (var archive = new IronArchive("myPDFFiles.zip"))
            {
                // Add files to the ZIP
                archive.Add(@"E:\Files\file1.pdf");
                archive.Add(@"E:\Files\file2.pdf");
                archive.Add(@"D:\Invoices\Invoice.pdf");
            }
        }
    }
}
Imports IronZIP

Namespace CS_ZipArchive
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Create a new ZIP file named "myPDFFiles.zip"
			Using archive = New IronArchive("myPDFFiles.zip")
				' Add files to the ZIP
				archive.Add("E:\Files\file1.pdf")
				archive.Add("E:\Files\file2.pdf")
				archive.Add("D:\Invoices\Invoice.pdf")
			End Using
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

L'instruction using crée une ressource à portée associée à une instance de la classe IronArchive. Le constructeur IronArchive est appelé avec l'argument "myPDFFiles.zip", qui spécifie le nom de la nouvelle archive ZIP à créer. À l'intérieur du bloc using, trois lignes de code ajoutent des fichiers à l'archive nouvellement créée :

  • archive.Add(@"E:\Files\file1.pdf");
  • archive.Add(@"E:\Files\file2.pdf");
  • archive.Add(@"D:\Invoices\Invoice.pdf");

Ces lignes ajoutent les fichiers PDF spécifiés à l'archive "myPDFFiles.zip". Puisque la classe IronArchive implémente IDisposable, l'instruction using garantit que l'archive est correctement fermée et que les ressources sont libérées à la sortie du bloc de code.

De cette façon, ce programme crée une archive ZIP nommée "myPDFFiles.zip" et y ajoute trois fichiers PDF. IronZip offre des méthodes pour créer et extraire des fichiers zip de manière super efficace.

csharp-extract-zip-file-tutorial-2

Créer une nouvelle archive Zip à partir du système de fichiers existant

Nous pouvons créer une nouvelle archive zip à partir d'un fichier zip spécifié. Comme montré ci-dessous, nous pouvons ajouter plusieurs fichiers avec différents formats, comme des images et des PDF.

using IronZIP;

namespace CS_ZipArchive
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Create a new ZIP file named "new PDF Files.zip" by extracting content from "myPDFFiles.zip"
            using (var archive = IronArchive.FromFile("myPDFFiles.zip", "new PDF Files.zip"))
            {
                // Add files to the archive
                archive.Add(@"D:\Invoices\Image1.png");
                archive.Add(@"D:\Invoices\PDF3.pdf");
            }
        }
    }
}
using IronZIP;

namespace CS_ZipArchive
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Create a new ZIP file named "new PDF Files.zip" by extracting content from "myPDFFiles.zip"
            using (var archive = IronArchive.FromFile("myPDFFiles.zip", "new PDF Files.zip"))
            {
                // Add files to the archive
                archive.Add(@"D:\Invoices\Image1.png");
                archive.Add(@"D:\Invoices\PDF3.pdf");
            }
        }
    }
}
Imports IronZIP

Namespace CS_ZipArchive
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Create a new ZIP file named "new PDF Files.zip" by extracting content from "myPDFFiles.zip"
			Using archive = IronArchive.FromFile("myPDFFiles.zip", "new PDF Files.zip")
				' Add files to the archive
				archive.Add("D:\Invoices\Image1.png")
				archive.Add("D:\Invoices\PDF3.pdf")
			End Using
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Cet extrait de code C# utilise IronArchive pour créer un nouveau fichier ZIP nommé "new PDF Files.zip" en extrayant le contenu d'un fichier ZIP existant appelé "myPDFFiles.zip." À l'intérieur du bloc using, des fichiers tels que "Image1.png" et "PDF3.pdf" sont ajoutés à la nouvelle archive ZIP. Le code extrait et ajoute efficacement des fichiers spécifiques d'une archive à l'autre en utilisant IronArchive.

Compression de fichiers PDF en C#

En C#, vous pouvez facilement compresser des fichiers PDF en utilisant n'importe quelle bibliothèque tierce, et l'un des outils les plus efficaces pour cette tâche est IronPDF. Son algorithme de compression vous permet de réduire la taille des documents PDF tout en conservant leur qualité.

Présentation de IronPDF

IronPDF est une bibliothèque C# populaire qui permet aux développeurs de travailler sans accroc avec des fichiers PDF dans leurs applications sous le framework .NET. Au-delà de ses capacités de compression, elle offre des fonctionnalités diverses telles que la génération, la manipulation, la conversion de PDF et bien plus encore. Cette flexibilité en fait un outil précieux pour diverses tâches liées aux PDF. Que ce soit pour créer des PDF à partir de rien, convertir des données de HTML à PDF, ou s'engager dans d'autres opérations PDF, IronPDF simplifie l'ensemble du processus, augmentant la productivité pour les développeurs C#.

Installer le package NuGet IronPDF

Pour incorporer IronPDF dans votre projet, exécutez la commande suivante pour installer IronPDF.

Install-Package IronZip

Cette commande simplifie le processus d'installation et ajoute les dépendances nécessaires à votre projet, assurant une intégration fluide.

Écrire du code pour compresser un fichier PDF en C#

Nous nous concentrons sur la compression des PDF dans l'extrait de code C# fourni.

using IronPdf;

public static void CompressPdf()
{
    // Open the PDF document located at D:\SamplePDFFile.pdf
    var pdf = new PdfDocument(@"D:\SamplePDFFile.pdf");

    // Compress the images in the PDF document to 60% of their original quality
    pdf.CompressImages(60);

    // Save the compressed PDF as a new file
    pdf.SaveAs(@"D:\CompressedPDF.pdf");
}
using IronPdf;

public static void CompressPdf()
{
    // Open the PDF document located at D:\SamplePDFFile.pdf
    var pdf = new PdfDocument(@"D:\SamplePDFFile.pdf");

    // Compress the images in the PDF document to 60% of their original quality
    pdf.CompressImages(60);

    // Save the compressed PDF as a new file
    pdf.SaveAs(@"D:\CompressedPDF.pdf");
}
Imports IronPdf

Public Shared Sub CompressPdf()
	' Open the PDF document located at D:\SamplePDFFile.pdf
	Dim pdf = New PdfDocument("D:\SamplePDFFile.pdf")

	' Compress the images in the PDF document to 60% of their original quality
	pdf.CompressImages(60)

	' Save the compressed PDF as a new file
	pdf.SaveAs("D:\CompressedPDF.pdf")
End Sub
$vbLabelText   $csharpLabel

Dans le code C# ci-dessus, nous avons ouvert un document PDF nommé "SamplePDFFile.pdf" ; ses images sont compressées à 60 % de leur qualité initiale. Le fichier PDF compressé résultant est ensuite enregistré sous le nom "CompressedPDF.pdf" à l'emplacement de dossier spécifié.

csharp-extract-zip-file-tutorial-3

De plus, vous pouvez utiliser l'espace de noms System (using System) car il fournit des classes et des méthodes essentielles pour les fonctionnalités de base dans les applications C#. En utilisant la classe ZipArchive, qui fait partie de l'espace de noms System.IO.Compression, vous pouvez traiter des fichiers compressés car elle permet une extraction et une manipulation fluides des fichiers compressés, assurant une gestion efficace des données compressées. Dans le contexte de cet exemple de compression de PDF, comprendre et utiliser l'espace de noms System et la bibliothèque IronPDF démontre la polyvalence et la puissance de C# dans la gestion de divers formats de fichiers, comme les fichiers zippés, gz ou PDF.

Conclusion

En conclusion, naviguer dans le domaine de la manipulation de fichiers zip et de la compression de PDF en C# devient un processus transparent avec les puissantes capacités des bibliothèques IronZIP et IronPDF. Cet article a fourni des informations sur l'extraction de fichiers des archives zip, la création de nouvelles archives et la compression des fichiers PDF, démontrant la polyvalence et l'efficacité de ces bibliothèques dans le développement C#. En respectant les procédures décrites et en incorporant les packages IronZIP et IronPDF, les développeurs peuvent élever leurs applications avec une gestion de fichiers rationalisée, une création dynamique d'archives zip et une compression PDF efficace. Ces bibliothèques constituent des atouts précieux, permettant aux développeurs de gérer des tâches complexes avec facilité et efficacité, améliorant finalement la fonctionnalité globale des applications C# dans le monde de la gestion et de la compression des fichiers. La version d'essai de 30 jours offerte par Iron Software offre une opportunité sans risque d'explorer ses capacités, facilitant la détermination de sa pertinence pour des projets spécifiques. Vous pouvez acheter la licence après avoir exploré toutes les fonctionnalités de IronZIP et IronPDF.

Questions Fréquemment Posées

Comment extraire un fichier ZIP en C# ?

Vous pouvez extraire un fichier ZIP en utilisant la bibliothèque IronZIP en C#. Utilisez la méthode ExtractArchiveToDirectory() pour spécifier le fichier ZIP source et le répertoire de destination pour l'extraction.

Qu'est-ce qui est nécessaire pour travailler avec IronZIP en C# ?

Pour travailler avec IronZIP, vous devez avoir installé Visual Studio ou un autre IDE C#, une compréhension de base de la programmation C#, et la bibliothèque IronZIP installée via NuGet avec la commande Install-Package IronZip.

Comment puis-je créer une archive ZIP en C# ?

En C#, vous pouvez créer une archive ZIP en utilisant la classe IronArchive de la bibliothèque IronZIP. Vous pouvez ajouter des fichiers à l'archive en utilisant la méthode Add() et spécifier le nom de l'archive selon les besoins.

Comment gérer les licences pour la manipulation de fichiers ZIP dans un projet C# ?

Pour gérer les licences dans un projet C# avec IronZIP, attribuez votre clé de licence à la propriété LicenseKey dans la classe 'License' immédiatement après avoir importé IronZIP et avant d'utiliser ses méthodes.

Puis-je compresser des fichiers PDF avec une bibliothèque ZIP ?

Alors que les bibliothèques ZIP se concentrent sur la compression de fichiers, pour une compression et une manipulation spécialisées des PDF, vous devriez utiliser IronPDF, qui offre des fonctionnalités complètes pour gérer des fichiers PDF en C#.

Quels sont les avantages de l'utilisation d'IronZIP pour la gestion des fichiers ZIP ?

IronZIP simplifie la gestion des fichiers ZIP en C#, offrant des méthodes simples pour l'extraction et la création d'archives ZIP. Il améliore l'efficacité et l'organisation des opérations de fichiers dans les applications logicielles.

Comment puis-je compresser plusieurs fichiers dans une archive ZIP en C# ?

Pour compresser plusieurs fichiers dans une archive ZIP en C#, vous pouvez utiliser la classe IronArchive de la bibliothèque IronZIP. Elle offre des fonctionnalités pour ajouter plusieurs fichiers et répertoires dans une seule archive compressée.

Quelles fonctionnalités offre IronPDF pour la manipulation des PDFs en C# ?

IronPDF fournit un large éventail de fonctionnalités, y compris la génération, la conversion, la manipulation et la compression de PDF, permettant aux développeurs de gérer efficacement les fichiers PDF dans les applications C#.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite