IRONSOFTWAREHOME
USING IRONZIP

如何在 C# 中提取 ZIP 文件

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

Zip 文件是一种流行的方法,用于将多个文件或目录压缩成一个单一的 Zip 存档格式,在许多软件应用中,提取它们是一个基本操作。 在C#世界中,使用IronZIP命名空间处理Zip存档非常简单。 本文将探讨如何使用 C# 提取 ZIP 文件,并检查现有的工具和技术。

在文件系统中,数据的组织和存储是至关重要的,能够无缝解压文件成为一项关键技能。 有效地使用系统管理所有指定目录中的文件对于简化操作至关重要。 在这种情况下,一个强大的工具是 ZipArchive 类,这是 C# 中的一个强大功能,可以有效提取压缩文件。 本文将指导您如何利用 ZipArchive 类,揭示压缩文件本地文件头等重要概念。

前提条件

在您探索使用 IronZIP 和 IronPDF 操作 ZIP 文件之前,请确保满足以下先决条件:

  1. Visual Studio: 安装 Visual Studio 或任何其他您选择的 C# 集成开发环境 (IDE)。
  2. 基本 C# 知识: 熟悉 C# 编程语言的基本概念。

安装 IronZIP 包

要开始使用 IronZIP,请快速在您的项目中安装 IronZIP NuGet 包。 在 NuGet 包管理器控制台中执行以下命令:

PM > Install-Package IronZip

或者,直接从 IronZIP 官方 NuGet 网站 下载包。

安装完成后,您可以通过在顶部添加using IronZIP语句来初始化您的C#代码。

应用许可证密钥

确保您拥有有效的 IronZIP 许可证或试用密钥。通过将它分配给 License 类的 LicenseKey 属性来应用许可证密钥。 在导入语句之后并在使用任何 IronZIP 方法之前立即包含以下代码:

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

这一步对于释放 IronZIP 在您的项目中的全部潜力至关重要。

使用C#提取或压缩Zip文件

以下代码示例演示了如何在 C# 中处理 Zip 文件,无论您是要压缩还是提取文件。

Extract a Zip file using C#

以下代码示例将使用 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");
        }
     }
}

上述代码使用了 IronZIP 库,该库提供了在 C# 中处理 ZIP 存档的功能。 此行旨在提取名为"QRCode.zip"的 ZIP 存档文件的内容,并将其保存到名为"Extracted QRCode"的目录中。 ExtractArchiveToDirectory() 方法负责提取ZIP归档文件的内容。它需要两个参数:源文件和目标路径。

C#-extract-zip-file-tutorial-1

创建存档文件

在 C# 中创建一个 ZIP 文件,我们可以利用 IronZIP 命名空间中的 IronArchive 类。 这个类让创建 ZIP 存档并在其中包含文件变得简单。 通过采用 IronArchive,开发人员可以轻松处理在他们的 C# 程序中制作 ZIP 文件的任务,提高效率并简化文件管理流程。

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 语句创建了一个与IronArchive类的实例相关联的作用域资源。 IronArchive 构造函数以参数"myPDFFiles.zip"调用,指定要创建的新 ZIP 存档的名称。 在 using 块内部,有三行代码将文件添加到新创建的存档中:

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

这些行将指定的PDF文件添加到"myPDFFiles.zip"归档文件中。由于IronArchive类实现了IDisposable,因此using语句确保归档正确关闭,并在代码块退出时释放资源。

通过这种方式,该程序创建一个名为"myPDFFiles.zip"的 ZIP 存档,并向其中添加三个 PDF 文件。 IronZIP提供了超级高效的创建和提取zip文件的方法。

C#-extract-zip-file-tutorial-2

从现有文件系统创建一个新的 Ziparchive

我们可以从指定的 zip 文件创建一个新的 zip 存档。如下面所示,我们可以添加不同格式的多个文件,如图像和 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");
            }
        }
    }
}

此 C# 代码片段利用 IronArchive 通过从名为"myPDFFiles.zip"的现有 ZIP 文件中提取内容来创建一个名为"new PDF Files.zip"的新 ZIP 文件。在 using 块中,如"Image1.png"和"PDF3.pdf"的文件会被添加到新的 ZIP 存档中。该代码利用 IronArchive 有效地从一个存档中提取并添加特定文件到另一个存档。

Compressing PDF Files in C#

在 C# 中,您可以轻松地使用任何第三方库压缩 PDF 文件,其中一个最有效的工具是 IronPDF。 它的压缩算法使您能够在保持质量的同时缩小 PDF 文档的大小。

介绍IronPDF

IronPDF 是一个流行的 C# 库,使开发人员能够在 .NET Framework应用程序中无缝处理 PDF 文件。 除了压缩功能外,它还提供多样的 PDF 生成、操作、转换等功能。 这种灵活性使其成为处理各种与 PDF 相关任务的宝贵工具。 无论是从头创建 PDF,从 HTML 转换为 PDF,还是从事其他 PDF 操作,IronPDF 简化了整个流程,提高了 C# 开发人员的生产力。

安装 IronPDF NuGet 包

要将 IronPDF 集成到您的项目中,执行以下命令以安装 IronPDF。

PM > Install-Package IronZip

此命令简化了安装过程并将必要的依赖项添加到您的项目中,确保平稳集成。

Write Code to Compress PDF File in C#

我们正在提供的 C# 代码片段中专注于 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");
}

在上面的 C# 代码中,我们打开了一个名为"SamplePDFFile.pdf"的 PDF 文件; 其图像已被压缩到原始质量的 60%。 结果压缩的 PDF 文件随后被保存为位于指定文件夹位置的"CompressedPDF.pdf"。

C#-extract-zip-file-tutorial-3

此外,您可以使用using System),因为它为C#应用程序中的基本功能提供了必要的类和方法。 使用ZipArchive类(属于System.IO.Compression命名空间的一部分),您可以处理压缩文件,因为它允许无缝提取和操作压缩文件,确保高效处理压缩数据。 在此 PDF 压缩示例的背景下,理解和利用 System 命名空间和 IronPDF 库展示了 C# 在管理多种文件格式(如压缩文件、gz 文件或 PDF)方面的多功能性和强大能力。

结论

总而言之,借助IronZIPIronPDF 库的强大功能,在 C# 中操作 zip 文件和压缩 PDF 文件的过程变得流畅无比。 这篇文章提供了从 zip 存档中提取文件、创建新存档以及压缩 PDF 文件的见解,展示了这些库在 C# 开发中的多功能性和高效性。 通过遵循概述的步骤并结合 IronZIP 和 IronPDF 包,开发人员可以通过流畅的文件管理、动态 zip 存档创建和有效的 PDF 压缩提升他们的应用程序。 这些库是宝贵的资产,使开发人员能够轻松高效地处理复杂任务,从而最终增强 C# 应用程序在文件处理和压缩世界中的整体功能。 Iron 软件提供的 30 天试用 提供了一个无风险机会来探索其功能,便于确定其是否适用于特定项目。 在探索完 IronZIP 和 IronPDF 的所有功能后,您可以购买许可证

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户