跳過到頁腳內容
使用 IRONZIP

C# ZIP 檔案(使用 IronZIP 的開發人員教程)

ZIP 是一種流行的壓縮方法,它使用 FileStream 將多個檔案和資料夾有效率地壓縮並合併到一個統一的 ZIP 檔案中。 使用IronZIP命名空間可以在 C# 中存取這些文件,該命名空間提供了從路徑或單一文件中創建和提取現有 ZIP 以及操作 ZIP 存檔的類別。 無論您是壓縮文件、處理受密碼保護的 ZIP 文件還是解壓縮文件,IronZIP 命名空間中的 ZipFile 類別都將成為您不可或缺的幫手。

在本教程中,我們不僅探索創建和提取 ZIP 存檔的基本流程,還學習用於實現的代碼示例。 ZipArchive 類別可以無縫地遍歷字串路徑,使您能夠以無與倫比的精度瀏覽和操作 ZIP 檔案。

此外,除了 ZIP 操作之外,我們還將探索IronPDF ,這是一款可以在不損害文件完整性的前提下壓縮 PDF 文件的工具。 IronZIP 和 IronPDF 的組合為開發人員提供了一套強大的工具,可以有效管理壓縮文件,並在 C# 環境中簡化 PDF 處理。

先決條件

在使用 IronZIP 和 IronPDF 進行 ZIP 檔案操作之前,請確保您符合以下先決條件:

  1. Visual Studio:安裝Visual Studio或您選擇的任何其他 C# 整合開發環境 (IDE)。
  2. C# 基礎:熟悉 C# 程式語言的基本概念。

安裝 IronZIP 軟體包

若要開始使用 IronZIP,請在您的專案中快速安裝 IronZIP NuGet 套件。 在 NuGet 套件管理器控制台中執行下列命令:

Install-Package IronZip

或者,直接從IronZIP NuGet 官方網站下載軟體包。

安裝完成後,在 C# 程式碼頂部加入using IronZip;語句來啟動程式碼。

應用許可證密鑰

請確保您擁有有效的 IronZIP 授權或試用金鑰。透過將其指派給License類別的LicenseKey屬性來套用許可證金鑰。 在導入語句之後、使用任何 IronZIP 方法之前,立即加入以下程式碼:

using IronZip;

namespace YourNamespace
{
    class Program
    {
        static void Main(string[] args)
        {
            // Apply the IronZIP license key
            IronZip.Licensing.License.LicenseKey = "IRONZIP.MYLICENSE.KEY.1EF01";
            // Your ZIP manipulation code using IronZIP
        }
    }
}
using IronZip;

namespace YourNamespace
{
    class Program
    {
        static void Main(string[] args)
        {
            // Apply the IronZIP license key
            IronZip.Licensing.License.LicenseKey = "IRONZIP.MYLICENSE.KEY.1EF01";
            // Your ZIP manipulation code using IronZIP
        }
    }
}
Imports IronZip

Namespace YourNamespace
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Apply the IronZIP license key
			IronZip.Licensing.License.LicenseKey = "IRONZIP.MYLICENSE.KEY.1EF01"
			' Your ZIP manipulation code using IronZIP
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

這一步對於在您的專案中充分發揮 IronZIP 的潛力至關重要。

建立 ZIP 文件

使用 IronZIP 建立 ZIP 檔案非常簡單。 利用IronArchive類別建立一個空的 ZIP 存檔,然後在其中新增檔案。 以下程式碼片段示範如何建立一個名為"Images.zip"的 ZIP 文件,並在其中新增四個映像檔:

using IronZip;

namespace CSharpZipArchive
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Create an archive called Images.zip
            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");
            }  // The archive is automatically closed here
        }
    }
}
using IronZip;

namespace CSharpZipArchive
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Create an archive called Images.zip
            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");
            }  // The archive is automatically closed here
        }
    }
}
Imports IronZip

Namespace CSharpZipArchive
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Create an archive called Images.zip
			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 ' The archive is automatically closed here
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

using語句建立IronArchive類別的作用域實例,並將其與變數archive關聯起來。 IronArchive的建構子接受一個參數:ZIP 檔案的名稱(在本例中為"Images.zip")。

程式碼在archive變數表示的 ZIP 歸檔檔案中加入了四個檔案。 文件以完整路徑指定:

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

由於IronArchive類別實作了IDisposable ,因此using語句可確保歸檔檔案正確關閉,並在程式碼區塊退出時釋放資源。

這樣,該程式創建了一個名為"Images.zip"的 ZIP 壓縮文件,並在其中添加了四個圖像檔案。 IronZip 讓這一切變得超級簡單、快速、有效率。

解壓縮 ZIP 檔案

我們可以使用一行 C# 程式碼來提取 ZIP 檔案。

using IronZip; 

namespace YourNamespace
{
    public class ExtractionExample
    {
        public static void Main(string[] args)
        {
            // Extract contents of the ZIP archive
            IronArchive.ExtractArchiveToDirectory("Images.zip", "Extracted Images");
        }
    }
}
using IronZip; 

namespace YourNamespace
{
    public class ExtractionExample
    {
        public static void Main(string[] args)
        {
            // Extract contents of the ZIP archive
            IronArchive.ExtractArchiveToDirectory("Images.zip", "Extracted Images");
        }
    }
}
Imports IronZip

Namespace YourNamespace
	Public Class ExtractionExample
		Public Shared Sub Main(ByVal args() As String)
			' Extract contents of the ZIP archive
			IronArchive.ExtractArchiveToDirectory("Images.zip", "Extracted Images")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

以上程式碼擷取名為"Images.zip"的 ZIP 壓縮檔案的內容。 提取的檔案放置在名為"提取影像"的目錄中。 IronArchive類別為此提供了ExtractArchiveToDirectory方法,可以非常有效率地提取 ZIP 檔案的內容。

! csharp-zip-library-tutorial-1這一行指令可以有效率地處理提取過程,簡化文件管理。

使用 C# 為現有 ZIP 檔案新增文件

在 C# 軟體應用程式中,向現有 ZIP 檔案添加檔案對於動態內容管理非常有用。 想像一下這樣一款檔案管理器應用程式:使用者可以透過新增檔案輕鬆解壓縮檔案。 IronZIP 提供無縫功能,可修改任何現有的 ZIP 檔案。

using IronZip;

namespace CSharpZipArchive
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Open an existing ZIP file and create a new one
            using (var archive = IronArchive.FromFile("Images.zip", "NewImages.zip"))
            {
                // Add new files to the ZIP
                archive.Add(@"E:\Datasets\1011-v1.png");
                archive.Add(@"E:\Datasets\1011-v2.png");
            }  // The new archive is automatically closed here
        }
    }
}
using IronZip;

namespace CSharpZipArchive
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Open an existing ZIP file and create a new one
            using (var archive = IronArchive.FromFile("Images.zip", "NewImages.zip"))
            {
                // Add new files to the ZIP
                archive.Add(@"E:\Datasets\1011-v1.png");
                archive.Add(@"E:\Datasets\1011-v2.png");
            }  // The new archive is automatically closed here
        }
    }
}
Imports IronZip

Namespace CSharpZipArchive
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Open an existing ZIP file and create a new one
			Using archive = IronArchive.FromFile("Images.zip", "NewImages.zip")
				' Add new files to the ZIP
				archive.Add("E:\Datasets\1011-v1.png")
				archive.Add("E:\Datasets\1011-v2.png")
			End Using ' The new archive is automatically closed here
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

IronArchive.FromFile("Images.zip", "NewImages.zip")方法從名為"Images.zip"的現有 ZIP 檔案建立一個歸檔對象,並指定新歸檔應命名為"NewImages.zip"。

using程式碼區塊中的兩行程式碼將檔案新增至新建立的歸檔檔案:

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

這些程式碼行將指定的映像檔新增到"NewImages.zip"檔案中。

檔案系統

壓縮PDF文件

除了管理 ZIP 檔案外,C# 還提供了無縫壓縮 PDF 檔案的功能。 借助第三方庫IronPDF ,這項任務得以實現。 它以其在壓縮 PDF 文件的同時保持其品質的可靠性而脫穎而出。

IronPDF簡介

IronPDF是一個功能強大的 C# 程式庫,旨在幫助開發人員在其 .NET 應用程式中有效地處理 PDF 文件。 它提供了許多功能,包括 PDF 生成、操作、文字和圖像提取、表單處理、數位簽名、HTML 轉 PDF、PDF 壓縮和安全性增強。 這些功能使其成為 .NET 框架內執行 PDF 建立、編輯、報告產生和文件管理等任務的寶貴工具,確保了生產力並能夠自訂 PDF 操作。

安裝 IronPDF

若要將 IronPDF 整合到您的專案中,請在套件管理器控制台中執行以下命令:

Install-Package IronZip

用 C# 編寫程式碼壓縮 PDF 文件

以下程式碼範例示範如何在保持檔案品質的前提下壓縮 PDF 檔案。

using IronPdf;

namespace YourNamespace
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Load the PDF document
            var pdf = new PdfDocument(@"E:\myPDF.pdf");

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

            // Save the compressed PDF
            pdf.SaveAs(@"E:\myCompressedPDF.pdf");
        }
    }
}
using IronPdf;

namespace YourNamespace
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Load the PDF document
            var pdf = new PdfDocument(@"E:\myPDF.pdf");

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

            // Save the compressed PDF
            pdf.SaveAs(@"E:\myCompressedPDF.pdf");
        }
    }
}
Imports IronPdf

Namespace YourNamespace
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Load the PDF document
			Dim pdf = New PdfDocument("E:\myPDF.pdf")

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

			' Save the compressed PDF
			pdf.SaveAs("E:\myCompressedPDF.pdf")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

在上面的程式碼中,我們使用 IronPDF 開啟"myPDF.pdf"。 CompressImages方法會將影像品質降低至 60%,並將壓縮後的 PDF 檔案儲存為"myCompressedPDF.pdf",儲存在指定位置。

輸出

執行上述程式碼後,檔案大小明顯減小,輸出結果顯示,壓縮後的 PDF 檔案大小從原來的 0.9 MB 減少到 254 KB。這證明了 IronPDF 能夠有效地壓縮 PDF 文件,且不會降低文件品質。

檔案大小比較

使用 IronZIP 和 IronPDF 在 C# 中實現高效的文件管理

在 C# 開發中,IronZIP 和 IronPDF 的結合為全面的文件管理提供了一個強大的解決方案。 IronZIP 擅長高效壓縮和處理 ZIP 文件,為開發人員提供創建和提取歸檔文件的無縫體驗。 同時,IronPDF 也是一個強大的 PDF 文件處理工具,它能夠在保持文件完整性的同時實現文件壓縮。 這種整合使開發人員能夠輕鬆地在壓縮存檔和 PDF 文件之間切換,從而增強應用程式的整體功能和效能。

無論是將各種文件壓縮到 ZIP 檔案中,還是優化 PDF 文件大小,IronZIP 和 IronPDF 的結合功能為開發人員提供了一個靈活的工具包,可以應對一系列與文件相關的挑戰。

結論

總之, IronZIP for C# 提供了強大的壓縮檔案處理功能,使開發人員能夠有效率地建立 ZIP 檔案、提取和操作歸檔檔案。 IronPDF 也是一個功能強大的 PDF 檔案壓縮工具,可以輕鬆縮小檔案大小,同時保持文件完整性。 開發者可以利用這些特性來增強應用程式的效能和功能,確保無縫處理歸檔和壓縮檔案。 此外,值得一提的是,IronPDF 提供靈活的授權模式,包括免費試用,讓開發人員可以探索其功能並確定最適合其專案的方案。 試用期為開發者提供了一個寶貴的機會,讓他們在決定是否購買許可證之前評估 IronZIP 和 IronPDF 的功能。

常見問題解答

如何在 C# 中建立 ZIP 檔案?

要在 C# 中建立 ZIP 檔案,您可以使用 IronZIP 函式庫中的 IronArchive 類。這個類別允許您建立一個空的 ZIP 存檔,並將檔案加入其中,提供管理 ZIP 內容的有效方法。

如何使用 C# 從 ZIP 存檔中萃取檔案?

您可以使用 IronZIP 函式庫的 IronArchive 類中的 ExtractArchiveToDirectory 方法從 ZIP 存檔中萃取檔案。這個方法允許您指定一個目錄,在這個目錄中檔案將會被萃取出來。

我可以用 C# 處理有密碼保護的 ZIP 檔案嗎?

是的,IronZIP 提供管理受密碼保護的 ZIP 檔案的功能,可安全壓縮和提取敏感資料。

在 C# 中安裝 ZIP 函式庫套件的步驟為何?

要安裝 IronZIP 函式庫,請使用 NuGet 套件管理員控制台中的 Install-Package IronZip 指令,或直接從 IronZIP NuGet 官方網站下載。

如何在 C# 中為 ZIP 函式庫套用授權金鑰?

若要為 IronZIP 套用授權金鑰,請將您的授權金鑰指定給應用程式中 Licensing.License class 的 LicenseKey 屬性。

如何在 C# 中壓縮 PDF 檔案?

要在 C# 中壓縮 PDF 檔案,您可以使用 IronPDF。載入 PDF 文件並套用 CompressImages 方法來降低影像品質,然後將壓縮後的 PDF 儲存至所需位置。

C# 中的 PDF 函式庫是否有試用版本?

是的,IronPDF 提供免費試用版本,讓開發人員在承諾簽訂授權協議之前,先探索其功能。

使用 C# 處理 ZIP 和 PDF 檔案的先決條件是什麼?

要使用 C# 處理 ZIP 和 PDF 檔案,您需要安裝 Visual Studio 或類似的 C# IDE,並對 C# 程式設計概念有基本的瞭解。您還需要 IronZIP 和 IronPDF 函式庫。

什麼是處理 ZIP 檔案的 C# 工具?

IronZIP 是一個 C# 函式庫,設計用來有效率地建立、處理和解壓縮 ZIP 檔案,非常適合在 .NET 應用程式中使用 ZIP 檔案的開發人員。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。