IRONZIPの使用

C# ZIPファイル(IronZipを使用した開発者向けチュートリアル)

チャクニット・ビン
チャクニット・ビン
2023年11月29日
共有:

ZIPは、FileStreamを使用して複数のファイルやフォルダを効率的に圧縮し、統一されたZIPアーカイブに統合するための一般的な方法です。 C#でこれらのファイルを操作するのは、パスまたは個々のファイルから既存のZIPを作成および抽出し、ZIPアーカイブを操作するためのクラスを提供するIronZIPネームスペースを使用することで容易になります。 ファイルを圧縮したり、パスワードで保護されたZIPを扱ったり、ファイルを解凍したりするとき、IronZIP名前空間内のZipFileクラスはあなたの貴重な味方になりますIronZIP。

このチュートリアルでは、ZIPアーカイブの作成と抽出の基本プロセスを探索するだけでなく、それを実現するためのコードサンプルも学びます。 ZipArchive クラスは、文字列パスをシームレスに進行し、比類のない精度で ZIP ファイルを操作することができます。

さらに、ZIP操作を超えて、IronPDF というツールを使用して、ドキュメントの完全性を損なうことなくPDFファイルを圧縮する方法も探ります。 IronZIP (IronPDF)とIronPDFを組み合わせることで、開発者はC# (シーシャープ)環境内で圧縮ファイルを効率的に管理し、PDFを効率化するための強力なツールを手に入れることができます。

前提条件 ##

IronZIPとIronPDFを使ってZIPファイルを操作する前に、以下の前提条件が満たされていることを確認してください:

  1. Visual Studio: Visual Studio またはお好みの他のC#統合開発環境(IDE)をインストールしてください。

  2. C#(シーシャープ)の基礎知識:C#(シーシャープ)プログラミング言語の基本的な概念に精通していること。

IronZIPパッケージをインストール

IronZIPを使い始めるには、IronZIP NuGet Packageをプロジェクトにインストールしてください。 NuGet Package Managerコンソールで以下のコマンドを実行します:

Install-Package IronZip

または、公式IronZIP NuGetウェブサイトからパッケージを直接ダウンロードしてください。

インストールが完了したら、先頭にusing IronZIP;を追加してC#コードを開始します。

ライセンスキーを適用

IronZIPの有効なライセンスキーまたはトライアルキーがあることを確認してください。ライセンス・クラスのLicenseKeyプロパティにライセンス・キーを割り当てて、ライセンス・キーを適用します。 importステートメントの直後で、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"
$vbLabelText   $csharpLabel

このステップは、プロジェクトでIronZIPのポテンシャルをフルに発揮させるために非常に重要です。

ZIPファイルを作成する

IronZIPでZIPファイルを作成するのは簡単です。 IronArchiveクラスを使用して空のZIPアーカイブを作成し、そこにファイルを追加します。 次のコード・スニペットは、「Images.zip」という名前のZIPファイルを作成し、そこに4つの画像ファイルを追加することを示しています:

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
$vbLabelText   $csharpLabel

using ステートメントは、IronArchive クラスのスコープされたインスタンスを作成し、それを変数 archive に関連付けます。IronArchive のコンストラクタは、1 つの引数(この場合は ZIP ファイルの名前「Images.zip」)を取ります。

このコードでは、archive変数で表されるZIPアーカイブに4つのファイルを追加している。 ファイルはフルパスで指定する:

  • 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アーカイブを作成し、そこに4つの画像ファイルを追加します。 IronZIPのおかげで、超簡単、迅速、効率的になりました。

ZIPファイルを抽出

C#(シーシャープ)の1行のコードで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
$vbLabelText   $csharpLabel

上記のコードは、"Images.zip "というZIPアーカイブファイルの中身を取り出す。 抽出されたファイルは、「抽出画像」という名前のディレクトリに置かれます。 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
$vbLabelText   $csharpLabel

IronArchive.FromFile("Images.zip", "NewImages.zip") メソッドは、既存の ZIP ファイル「Images.zip」からアーカイブ オブジェクトを作成し、新しいアーカイブを「NewImages.zip」という名前にするよう指定します。

usingブロック内の2行は、新しく作成されたアーカイブにファイルを追加する:

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

    これらの行は、指定された画像ファイルを "NewImages.zip "アーカイブに追加する。

    ファイルシステム

PDFファイルを圧縮

ZIPを管理するだけでなく、C#(シーシャープ)はPDFファイルをシームレスに圧縮する機能も提供しています。 このタスクは、サードパーティのライブラリ IronPDF の助けを借りて実現可能です。 品質を維持しながらPDFを圧縮するための信頼性の高いソリューションとして際立っています。

IronPDFの紹介

IronPDFは、.NETアプリケーション内でPDFドキュメントを効率的に処理するために開発者を支援する多機能なC#ライブラリです。 PDF生成、操作、テキスト・画像抽出、フォーム処理、電子署名、HTMLからPDFへの変換、PDF圧縮、セキュリティ強化など、多くの機能を提供します。 これらの機能により、.NETフレームワーク内でのPDFの作成、編集、レポート作成、文書管理などの作業において、生産性とPDF操作のカスタマイズ能力を保証する貴重なツールとなります。

IronPDF のインストール ###

IronPDFをプロジェクトに組み込むには、パッケージマネージャーコンソールで以下のコマンドを実行してください:

Install-Package IronZip

PDFファイルをC#で圧縮するコードを書く

以下のコードサンプルは、アーカイブの品質を維持しながら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
$vbLabelText   $csharpLabel

上記のコードでは、IronPDFを使って "myPDF.pdf "を開いています。 CompressImages」メソッドは画質を60%に落とし、圧縮されたPDFは「myCompressedPDF.pdf」として指定された場所に保存されます。

Output ###

圧縮されたPDFのサイズは元の0.9MBから254KBに減少しています。これは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の機能を評価し、ライセンス取得を決定する前に有益な機会を提供します。

チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。
< 以前
C#でZipアーカイブを作成する方法
次へ >
C#でZIPファイルを抽出する方法