使用 IRONZIP 如何在 C# 中提取 ZIP 文件 Curtis Chau 已更新:六月 22, 2025 Download IronZIP NuGet 下载 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article Zip files are a popular method for compressing multiple files or directories into a single Zip archive format, and extracting them is a fundamental operation in many software applications. In the world of C#, working with Zip archives is easy with the IronZip namespace. This article will explore how to extract Zip files using C# and examine the available tools and techniques. In the file system, where the organization and storage of data are paramount, the ability to unzip files seamlessly becomes a critical skill. Using the system effectively to manage all the files within a specified directory is essential for streamlined operations. One powerful tool in this context is the ZipArchive class, a robust feature in C# that facilitates efficient extraction of zipped files. This article will guide you through the intricacies of leveraging the ZipArchive class, shedding light on essential concepts such as local file headers of zipped files. Prerequisites Before you explore ZIP file manipulation with IronZIP and IronPDF, ensure the following prerequisites are met: Visual Studio: Install Visual Studio or any other C# Integrated Development Environment (IDE) of your choice. Basic C# knowledge: Familiarize yourself with fundamental concepts of the C# programming language. Install IronZIP Package To start your journey with IronZIP, swiftly install the IronZIP NuGet Package in your project. Execute the following command in the NuGet Package Manager Console: Install-Package IronZip Alternatively, download the package directly from the official IronZIP NuGet website. Once the installation is complete, initiate your C# code by adding the using IronZIP statement at the top. Apply License Key Ensure you have a valid license or trial key for IronZIP. Apply the license key by assigning it to the LicenseKey property of the License class. Include the following code immediately after the import statement and before using any IronZIP methods: 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 This step is crucial for unleashing the full potential of IronZIP in your project. Using C# to extract or compress Zip files The following code samples demonstrate how to work with Zip files in C#, whether you want to compress or extract a file. Extract a Zip file using C# The following code sample will unzip files into a new directory using 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 The above code uses the IronZIP library, which provides functionality for working with ZIP archives in C#. This line aims to extract the contents of a ZIP archive file named "QRCode.zip" and save them to a directory named "Extracted QRCode". The ExtractArchiveToDirectory() method is responsible for extracting the contents of a ZIP archive. It takes two arguments: the source file and the destination. Create an Archive File To make a ZIP file in C#, we can utilize the IronArchive class found in the IronZIP namespace. This class makes creating a ZIP archive and including files within it straightforward. By employing IronArchive, developers can easily handle the task of crafting ZIP files in their C# programs, enhancing efficiency and simplifying the file management process. 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 The using statement creates a scoped resource associated with an instance of the IronArchive class. The IronArchive constructor is called with the argument "myPDFFiles.zip", which specifies the name of the new ZIP archive to be created. Inside the using block, three lines of code add files to the newly created archive: archive.Add(@"E:\Files\file1.pdf"); archive.Add(@"E:\Files\file2.pdf"); archive.Add(@"D:\Invoices\Invoice.pdf"); These lines add the specified PDF files to the "myPDFFiles.zip" archive. Since the IronArchive class implements IDisposable, the using statement ensures the archive is closed correctly, and resources are released when the code block is exited. In this way, this program creates a ZIP archive named "myPDFFiles.zip" and adds three PDF files to it. IronZip provides methods to create and extract zip files super efficiently. Create a New Ziparchive from the Existing File System We can create a new zip archive from a specified zip file. As shown below, we can add multiple files with different formats, such as images and PDFs. 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 This C# code snippet utilizes IronArchive to create a new ZIP file named "new PDF Files.zip" by extracting content from an existing ZIP file called "myPDFFiles.zip." Inside the using block, files like "Image1.png" and "PDF3.pdf" are added to the new ZIP archive. The code efficiently extracts and adds specific files from one archive to another using IronArchive. Compressing PDF Files in C# In C#, you can effortlessly compress PDF files using any third-party library, and one of the most efficient tools for this task is IronPDF. Its compression algorithm empowers you to shrink the size of PDF documents while maintaining their quality. Introducing IronPDF IronPDF is a popular C# library that equips developers to work seamlessly with PDF files in their .NET framework applications. Beyond its compression capabilities, it offers diverse PDF generation, manipulation, conversion, and more features. This flexibility makes it an invaluable tool for various PDF-related tasks. Whether creating PDFs from scratch, converting data from HTML to PDF, or engaging in other PDF operations, IronPDF simplifies the entire process, enhancing productivity for C# developers. Install IronPDF NuGet Package To incorporate IronPDF into your project, execute the following command to install IronPDF. Install-Package IronZip This command streamlines the installation process and adds the necessary dependencies to your project, ensuring a smooth integration. Write Code to Compress PDF File in C# We're focusing on PDF compression in the provided C# code snippet. 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 In the above C# code, we have opened a PDF document named "SamplePDFFile.pdf"; its images are compressed to 60% of their original quality. The resulting compressed PDF file is then saved as "CompressedPDF.pdf" at the specified folder location. Further, you can use the System namespace (using System) since it provides essential classes and methods for basic functionalities in C# applications. Using the ZipArchive class, part of the System.IO.Compression namespace, you can deal with compressed files as it allows seamless extraction and manipulation of zipped files, ensuring efficient handling of compressed data. In the context of this PDF compression example, understanding and utilizing the System namespace and the IronPDF library demonstrate the versatility and power of C# in managing diverse file formats, like zipped files, gz files, or PDFs. Conclusion In conclusion, navigating the realm of zip file manipulation and PDF compression in C# becomes a seamless process with the powerful capabilities of the IronZIP and IronPDF libraries. This article has provided insights into extracting files from zip archives, creating new archives, and compressing PDF files, demonstrating these libraries' versatility and efficiency in C# development. By adhering to the outlined procedures and incorporating the IronZIP and IronPDF packages, developers can elevate their applications with streamlined file management, dynamic zip archive creation, and effective PDF compression. These libraries stand as valuable assets, empowering developers to handle complex tasks with ease and efficiency, ultimately enhancing the overall functionality of C# applications in the world of file handling and compression. The 30-day trial offered by Iron Software provides a risk-free opportunity to explore its capabilities, making it easy to determine its suitability for specific projects. You can purchase the license after exploring all the functionalities of IronZIP and IronPDF. 常见问题解答 如何使用 C# 提取 ZIP 文件? 您可以使用 C# 中的 IronZIP 库提取 ZIP 文件。利用 ExtractArchiveToDirectory() 方法指定源 ZIP 文件和提取的目标目录。 使用 C# 中的 IronZIP 需要哪些条件? 要使用 IronZIP,您需要安装 Visual Studio 或其他 C# IDE,具备 C# 编程的基本知识,并通过命令 Install-Package IronZip 安装 IronZIP 库。 如何在 C# 中创建 ZIP 存档? 在 C# 中,您可以使用 IronZIP 库中的 IronArchive 类创建 ZIP 存档。您可以使用 Add() 方法向存档中添加文件,并根据需要指定存档名称。 如何在 C# 项目中管理 ZIP 文件操作的许可证? 要在 C# 项目中使用 IronZIP 管理许可证,请在导入 IronZIP 后立即将您的许可证密钥分配给 'License' 类中的 LicenseKey 属性,并在使用其任何方法之前。 我可以使用 ZIP 库压缩 PDF 文件吗? 虽然 ZIP 库专注于文件压缩,但对于专业的 PDF 压缩和处理,您应该使用 IronPDF,它提供了在 C# 中处理 PDF 文件的全面功能。 使用 IronZIP 管理 ZIP 文件有哪些优势? IronZIP 简化了 C# 中的 ZIP 文件管理,提供了直接提取和创建 ZIP 存档的方法。它提高了软件应用程序中文件操作的效率和组织。 如何使用 C# 将多个文件压缩到 ZIP 存档中? 要在 C# 中将多个文件压缩到 ZIP 存档中,可以使用 IronZIP 库中的 IronArchive 类。它提供了向单个压缩存档中添加多个文件和目录的功能。 IronPDF 提供哪些用于在 C# 中处理 PDF 的功能? IronPDF 提供了广泛的功能,包括 PDF 生成、转换、处理和压缩,使开发人员能够在 C# 应用程序中高效处理 PDF 文件。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已更新六月 22, 2025 如何在 C# 中将 ZIP 归档文件提取到目录 ZIP 文件是将多个文件和目录捆绑成单一归档的便捷方式。 阅读更多 已更新七月 28, 2025 如何在 C# 中创建带密码的 ZIP 文件 在本文中,我们将探索如何使用 C# 和 IronZIP 库创建一个密码保护的 ZIP 文件。 阅读更多 已更新七月 28, 2025 如何在 C# 中将文件解压到目录 无论您是在开发 Windows 应用程序还是 .NET 项目,理解文件解压过程都非常有价值。 阅读更多 C# ZIP 文件(使用 IronZIP 的开发人员教程)如何在 C# 中向 ZIP 添加文件