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 Package。 在 NuGet 套件管理器主控台中執行以下命令:

PM > Install-Package IronZip

或者,直接從 官方 IronZIP NuGet 網站下載套件。

安裝完成後,在開始您的 C# 程式碼時,在頂部新增 using IronZIP 語句。

應用授權金鑰

確保您擁有有效的 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,使用語句確保在程式碼塊退出時正確關閉存檔並釋放資源。

以這種方式,該程式建立了一個名為 "myPDFFiles.zip" 的 ZIP 存檔,並向其中新增了三個 PDF 文件。 IronZIP 提供了非常高效的方法來建立和提取 zip 文件。

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

從現有文件系統建立新的 Zip 存檔

我們可以從指定的 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 從現有的 ZIP 文件 "myPDFFiles.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

此外,您可以使用 System 命名空間 (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 Software 提供的30 天試用為探索其功能提供了無風險的機會,使其易於確定其對特定專案的適用性。 在探索 IronZIP 和 IronPDF 的所有功能後,您可以購買授權

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

相關文章

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天試用金鑰
無需信用卡或帳戶建立