C# ZIP 文件(使用 IronZip 的開發者教程)
ZIP是一種流行的方法,能夠透過FileStream有效地壓縮和整合多個檔案和資料夾為一個統一的ZIP檔案。 在C#中與這些檔案一起工作非常容易,使用IronZIP命名空間,提供類別來建立及從路徑或個別檔案中提取現有的ZIP,並操作ZIP檔案。 無論您是在壓縮檔案、處理受密碼保護的ZIP,還是解壓縮檔案,IronZIP命名空間中的ZipFile類都是您不可或缺的盟友。
在本教程中,我們不僅探索建立和提取ZIP檔案的基本過程,還學習實現此目的的程式碼範例。 ZipArchive類可以輕易地進行字串路徑處理,使您能夠以無與倫比的精確性瀏覽和操作ZIP檔案。
此外,除了ZIP操作之外,我們還將探索IronPDF,這是一款壓縮PDF檔案而不影響文件完整性的工具。 IronZIP和IronPDF的結合為開發者提供了一組強大的工具,可以在C#環境中高效地管理壓縮檔案和簡化PDF。
先決條件
在您使用 IronZIP 和 IronPDF 操作 ZIP 檔案之前,請確保符合以下前提條件:
- Visual Studio:安裝 Visual Studio 或任何您選擇的其他 C# 整合開發環境(IDE)。
- 基礎 C# 知識:熟悉 C# 程式設計語言的基本概念。
安裝 IronZIP 套件
要開始使用IronZIP,迅速在專案中安裝IronZIP NuGet套件。 在 NuGet 套件管理器主控台中執行以下命令:
Install-Package IronZip
或者,直接從 官方 IronZIP NuGet 網站下載套件。
安裝完成後,請在您的C#程式碼頂部新增using IronZip;語句以啟動您的程式碼。
應用授權金鑰
確保您有一個有效的IronZIP授權或試用金鑰。通過將授權金鑰分配給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
這個步驟對於在您的專案中發揮 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
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
由於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
上述程式碼提取了名為"Images.zip"的ZIP檔案的內容。 提取出的檔案放置在名為"Extracted Images"的目錄中。 ExtractArchiveToDirectory方法來達成此目的,使ZIP檔案內容的提取非常高效。
這個單行程式碼高效地處理了提取過程,簡化了檔案管理。
Add Files to an Existing ZIP file using C
在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
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
Write a Code to Compress PDF File in C
以下程式碼範例演示了如何在保持檔案品質的同時壓縮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
在上述程式碼中,我們使用IronPDF打開"myPDF.pdf"。 CompressImages方法將圖像品質降低到60%,壓縮後的PDF將保存為"myCompressedPDF.pdf"至指定位置。
輸出
執行上述程式碼後,根據輸出顯示,壓縮後的PDF檔案大小由原本的0.9 MB縮小至254 KB,這展示了IronPDF在不犧牲品質的情況下有效壓縮PDF檔案的效用。

Efficient File Management with IronZIP and IronPDF in C
在C#開發中,IronZIP和IronPDF的組合提供了一個全面檔案管理的強大解決方案。 IronZIP在高效壓縮和操作ZIP檔案方面表現出色,為開發者建立及提取存檔提供了無縫的體驗。 同時,IronPDF是一個強大的工具來處理PDF文件,允許在保持文件完整性的同時進行壓縮。 此整合使開發者能輕鬆地在壓縮檔案和PDF文件之間切換,提升其應用程式的整體功能和性能。
無論是將各種檔案壓縮進一個ZIP檔案,還是優化PDF文件大小,IronZIP和IronPDF合力形成了一個靈活的工具包,解決了多種與檔案有關的挑戰。
結論
總之,IronZIP為C#開發者操作壓縮檔案提供了強大的能力,使得開發者能有效建立、提取和操作存檔。 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類的LicenseKey屬性。
如何在C#中壓縮PDF文件?
要在C#中壓縮PDF文件,您可以使用IronPDF。載入PDF文件並應用CompressImages方法以降低圖像品質,然後將壓縮後的PDF保存至所需位置。
是否有可供C#使用的PDF程式庫的試用版本?
是的,IronPDF提供免費試用版本,允許開發者在購買授權協議前了解其功能。
在C#中處理ZIP和PDF文件的先決條件是什麼?
要在C#中處理ZIP和PDF文件,您需要安裝Visual Studio或類似C#整合開發環境,並具備基本的C#程式概念。此外,您還需要IronZIP和IronPDF程式庫。
用於處理ZIP文件的C#工具是什麼?
IronZIP是一個專門為C#設計的程式庫,旨在高效建立、操作和提取ZIP壓縮檔,非常適合在.NET應用中處理ZIP文件的開發者使用。




