使用 IRONZIP

C# ZIP 檔案 (使用 IronZip 的開發者教學)

發佈 2023年11月29日
分享:

ZIP 是一種流行的方法,可以使用 FileStream 高效地壓縮和合併多個文件和文件夾到統一的 ZIP 壓縮檔案中。在 C# 中使用這些文件變得容易通過 IronZIP 命名空間,提供類別用於從路徑或單個包含的文件創建和提取現有的ZIP,並處理ZIP存檔。無論您是在壓縮文件,處理受密碼保護的ZIP,還是解壓文件,IronZIP命名空間中的ZipFile類都會成為您不可或缺的盟友。

在本教程中,我們不僅會探討創建和提取ZIP存檔的基本過程,還會學習實現這些過程的代碼示例。ZipArchive類流暢地處理字符串路徑,使您能夠以無與倫比的精度導航和操縱ZIP文件。

此外,除了ZIP操作,我們還將探討 IronPDF 一個壓縮PDF文件而不損害文件完整性的工具。IronZIP和IronPDF的組合為開發人員提供了一套強大的工具,能夠在C#環境中高效管理壓縮文件並精簡PDF文件。

先決條件

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

  1. Visual Studio: 安裝 Visual Studio 或任何其他 C# 整合開發環境 (集成開發環境) 選擇。

  2. 基本的 C# 知識:熟悉 C# 程式語言的基本概念。

安裝 IronZIP 套件

要開始您的 IronZIP 之旅,請迅速在您的專案中安裝 IronZIP NuGet 套件。在 NuGet 套件管理器控制台中執行以下命令:

Install-Package IronZip

或者,直接從該網址下載套件 官方 IronZIP NuGet 網站一旦安裝完成,在您的 C# 代碼開頭加上 using IronZIP; 語句。

套用授權金鑰

確保您擁有有效的 IronZIP 授權或試用金鑰。將授權金鑰指派給 License 類別的 LicenseKey 屬性。將以下程式碼放置在引入語句之後並在使用任何 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"
VB   C#

這一步對於釋放IronZIP在您的專案中的全部潛力至關重要。

建立 ZIP 檔案

使用 IronZIP 建立 ZIP 檔案非常簡單。利用 IronArchive 類別來建立一個空的 ZIP 檔案,然後將檔案加入其中。以下程式碼範例展示了如何建立一個名為 "Images.zip" 的 ZIP 檔案並將四個圖像檔案添加到其中:

using IronZIP;
using System.IO;

public class Program
{
    public static void Main()
    {
        // 建立空的 ZIP 檔案
        IronArchive zipArchive = IronArchive.CreateNew();

        // 添加圖像檔案
        zipArchive.AddFile("Image1.png");
        zipArchive.AddFile("Image2.jpg");
        zipArchive.AddFile("Image3.bmp");
        zipArchive.AddFile("Image4.gif");

        // 保存 ZIP 檔案
        zipArchive.SaveAs("Images.zip");
    }
}
using IronZIP;
using System.IO;

public class Program
{
    public static void Main()
    {
        // 建立空的 ZIP 檔案
        IronArchive zipArchive = IronArchive.CreateNew();

        // 添加圖像檔案
        zipArchive.AddFile("Image1.png");
        zipArchive.AddFile("Image2.jpg");
        zipArchive.AddFile("Image3.bmp");
        zipArchive.AddFile("Image4.gif");

        // 保存 ZIP 檔案
        zipArchive.SaveAs("Images.zip");
    }
}
Imports IronZIP
Imports System.IO

Public Class Program
	Public Shared Sub Main()
		' 建立空的 ZIP 檔案
		Dim zipArchive As IronArchive = IronArchive.CreateNew()

		' 添加圖像檔案
		zipArchive.AddFile("Image1.png")
		zipArchive.AddFile("Image2.jpg")
		zipArchive.AddFile("Image3.bmp")
		zipArchive.AddFile("Image4.gif")

		' 保存 ZIP 檔案
		zipArchive.SaveAs("Images.zip")
	End Sub
End Class
VB   C#
using IronZip;
namespace C__ZipArchive
{
    internal class Program
    {
        static void Main(string [] args)
        {
            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");
            }
    }
}
using IronZip;
namespace C__ZipArchive
{
    internal class Program
    {
        static void Main(string [] args)
        {
            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");
            }
    }
}
Imports IronZip
Namespace C__ZipArchive
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			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
		End Sub
	End Class
VB   C#

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; //add references
public static void Main(string [] args)
{
    IronArchive.ExtractArchiveToDirectory("Images.zip", "Extracted Images");
}
using IronZip; //add references
public static void Main(string [] args)
{
    IronArchive.ExtractArchiveToDirectory("Images.zip", "Extracted Images");
}
Imports IronZip 'add references
Public Shared Sub Main(ByVal args() As String)
	IronArchive.ExtractArchiveToDirectory("Images.zip", "Extracted Images")
End Sub
VB   C#

上面的程式碼提取名為 "Images.zip" 的 ZIP 壓縮檔案內容。提取出的檔案會放置在名為 "Extracted Images" 的目錄中。IronArchive 類別提供了 ExtractArchiveToDirectory 方法來達到這個目的,使得提取 zip 檔案的內容非常高效。

csharp-zip-library-tutorial-1 這個單行程式碼有效地處理提取過程,簡化了文件管理。

使用 C# 向現有 ZIP 檔案添加文件

在 C# 軟體應用程式中,向現有 zip 檔案添加文件對於動態內容管理非常有價值。想像一下,一個檔案管理器應用程式,使用者可以輕鬆地通過添加新文件來擴展壓縮檔案。IronZIP 提供了無縫的功能來修改任何現有的 zip 檔案。

using (var archive = IronArchive.FromFile("Images.zip", "NewImages.zip"))
{
    // Add files
    archive.Add(@"E:\Datasets\1011-v1.png");
    archive.Add(@"E:\Datasets\1011-v2.png");
}
using (var archive = IronArchive.FromFile("Images.zip", "NewImages.zip"))
{
    // Add files
    archive.Add(@"E:\Datasets\1011-v1.png");
    archive.Add(@"E:\Datasets\1011-v2.png");
}
Using archive = IronArchive.FromFile("Images.zip", "NewImages.zip")
	' Add files
	archive.Add("E:\Datasets\1011-v1.png")
	archive.Add("E:\Datasets\1011-v2.png")
End Using
VB   C#

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 整合到您的專案中,請在 Package Manager Console 中執行以下指令:

Install-Package IronZip

使用C#編寫壓縮PDF檔的代碼

以下代碼範例展示了在保持檔案品質的情況下進行PDF檔壓縮。

using IronPdf;

static void Main(string [] args)
{
    var pdf = new PdfDocument(@"E:\myPDF.pdf");
    // Quality parameter can be 1-100, where 100 is 100% of original quality
    pdf.CompressImages(60);
    pdf.SaveAs(@"E:\myCompressedPDF.pdf");
}
using IronPdf;

static void Main(string [] args)
{
    var pdf = new PdfDocument(@"E:\myPDF.pdf");
    // Quality parameter can be 1-100, where 100 is 100% of original quality
    pdf.CompressImages(60);
    pdf.SaveAs(@"E:\myCompressedPDF.pdf");
}
Imports IronPdf

Shared Sub Main(ByVal args() As String)
	Dim pdf = New PdfDocument("E:\myPDF.pdf")
	' Quality parameter can be 1-100, where 100 is 100% of original quality
	pdf.CompressImages(60)
	pdf.SaveAs("E:\myCompressedPDF.pdf")
End Sub
VB   C#

在上述代碼中,我們使用 IronPDF 打開了 "myPDF.pdf"。'CompressImages' 方法將圖像質量降低至 60%,並將壓縮後的 PDF 保存為指定位置的 "myCompressedPDF.pdf"。

Output

執行上述程式碼會顯著減少檔案大小,從輸出結果可以看出,壓縮後的 PDF 大小由原本的 0.9 MB 減少到 254 KB。這展示了 IronPDF 在無損品質的情況下有效壓縮 PDF 檔案的能力。

檔案大小比較

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

在 C# 開發中,IronZIP 與 IronPDF 的結合提供了一個強大的全面文件管理解決方案。IronZIP 擅長於高效壓縮和操作 ZIP 文件,為開發人員創建和提取壓縮包提供了無縫的體驗。同時,IronPDF 是處理 PDF 文檔的強大工具,能夠在保持文檔完整性的同時進行文件壓縮。這種集成使開發人員能夠輕鬆地在壓縮檔案和 PDF 文件之間導航,從而提升其應用程序的整體功能和性能。

無論是將多種文件壓縮到 ZIP 壓縮包中,還是優化 PDF 文檔大小,IronZIP 和 IronPDF 的結合力量為開發人員提供了一種靈活的工具包,解決了各種與文件相關的挑戰。

結論

總之, IronZIP 對於 C# 提供了強大的壓縮文件處理能力,開發人員可以高效地創建 ZIP 文件並提取和操作存檔文件。IronPDF 也是一個強大的 PDF 文件壓縮工具,很容易在保持文檔完整性的同時減小文件大小。開發人員可以利用這些功能來增強其應用程序的性能和功能,確保對存檔和壓縮文件的無縫處理。此外,值得注意的是,IronPDF 提供靈活的授權模式,包括 免費試用, 允許開發人員探索其功能並確定其項目最適合的選擇。這段試用期為開發人員提供了一個寶貴的機會來評估IronZIP IronPDF的功能,然後再作出承諾。 授權.

< 上一頁
如何在C#中建立Zip壓縮檔
下一個 >
如何在 C# 中提取 Zip 文件

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 4,566 查看許可證 >