C#を使用してZIPアーカイブをレンダリングする

ZIPファイルには、単一のファイルとして機能する1つ以上の圧縮ファイルまたはフォルダーが含まれています。これらは、ストレージスペースを節約し、コンピューターのパフォーマンスを向上させるために広く使用されています。 ZIPアーカイブ内のファイルとフォルダをある場所から別の場所に効果的に転送できます。 C#開発者は、ZIPアーカイブを簡単にレンダリングし、プログラムでコンテンツを表示できます。この記事では、C#を使用してZIPアーカイブをレンダリングする方法に焦点を当てます。

この記事では、次のトピックについて説明/取り上げています。

ZIPファイルを表示するためのC#API

ZIPファイルのレンダリングには、GroupDocs.Viewer for .NETAPIを使用します。これは、170を超えるファイルとドキュメントタイプをサポートする強力なドキュメントビューアAPIです。 APIは、外部ソフトウェアをインストールせずに、広く使用されているファイル形式をどこにでもレンダリングおよび表示するための最も柔軟なドキュメント表示ソリューションを提供します。また、PDF、HTML、XML、Microsoft Office Word、Excelワークシート、PowerPointプレゼンテーション、Outlook電子メール、Visioダイアグラム、プロジェクト、メタファイル、画像、およびその他のさまざまなファイル形式を簡単かつプログラミングの危険性を抑えてすばやく表示できます。

APIのDLLをダウンロードするか、NuGetを使用してインストールできます。

Install-Package GroupDocs.Viewer

ZIPアーカイブをHTMLでレンダリングする

以下に示す簡単な手順に従って、ZIPファイルをHTMLでレンダリングできます。

  1. Viewerクラスのインスタンスを作成します
  2. 入力ファイルのパスを指定します
  3. HtmlViewOptionsクラスのインスタンスを作成します
  4. 出力ファイルのパスを指定します
  5. View()メソッドを呼び出し、HtmlViewOptionsを渡します

次のコードサンプルは、C#を使用してZIPファイルをHTMLでレンダリングする方法を示しています。

// ビューアを初期化する
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// HTMLビューオプションを定義する
HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources("C:\\Files\\output.html");
viewOptions.RenderToSinglePage = true;

// ビューを作成する
viewer.View(viewOptions);
ZIPアーカイブをHTMLでレンダリングする

ZIPアーカイブをHTMLでレンダリングする

Viewerクラスは、ドキュメントのレンダリングプロセスを制御する機能を提供するメインクラスです。このクラスのView()メソッドは、すべてのドキュメントページのビューを作成します。

HtmlViewOptionsクラスは、ドキュメントをHTML形式にレンダリングするためのオプションを提供します。 ForEmbeddedResourcesコンストラクターメソッドは、埋め込まれたリソースを使用してHTMLにレンダリングするためのHtmlViewOptionsクラスの新しいインスタンスを作成します。ご覧のとおり、コード例で出力ファイルのパスを指定しました。

ドキュメントHTMLビューア」の詳細については、ドキュメントをご覧ください。

HTMLでZIPアーカイブから特定のフォルダをレンダリングする

以下に示す簡単な手順に従って、ZIPファイル内で使用可能な特定のフォルダーをHTMLでレンダリングできます。

  1. Viewerクラスのインスタンスを作成します
  2. 入力ファイルのパスを指定します
  3. HtmlViewOptionsクラスのインスタンスを作成します
  4. 出力ファイルのパスを指定します
  5. レンダリングするフォルダ名を設定します
  6. View()メソッドを呼び出し、HtmlViewOptionsを渡します

次のコードサンプルは、C#を使用してHTMLのZIPファイルから特定のフォルダーをレンダリングする方法を示しています。

// ビューアを初期化する
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// HTMLビューオプションを定義する
HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources("C:\\Files\\output.html");
// フォルダ名を設定する
viewOptions.ArchiveOptions.Folder = "ThirdFolderWithItems";

// ビューを作成する
viewer.View(viewOptions);
HTMLでZIPアーカイブから特定のフォルダをレンダリングする

HTMLでZIPアーカイブから特定のフォルダをレンダリングする

ArchiveOptionsクラスは、アーカイブファイルをレンダリングするためのオプションを提供します。アーカイブ内で使用可能なフォルダーの名前を指定することにより、ZIPアーカイブから特定のフォルダーをレンダリングできます。

ZIPアーカイブのコンテンツをPDFで表示

以下に示す簡単な手順に従って、ZIPファイルをPDFドキュメントでレンダリングできます。

  1. Viewerクラスのインスタンスを作成します
  2. 入力ファイルのパスを指定します
  3. PdfViewOptionsクラスのインスタンスを作成します
  4. 出力ファイルのパスを指定します
  5. View()メソッドを呼び出し、PdfViewOptionsを渡します

次のコードサンプルは、C#を使用してZIPファイルをPDFでレンダリングする方法を示しています。

// ビューアを初期化する
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// PDF表示オプションを定義する
PdfViewOptions options = new PdfViewOptions("C:\\Files\\output.pdf");

// ビューを作成する
viewer.View(viewOptions);
ZIPアーカイブのコンテンツをPDFで表示

ZIPアーカイブのコンテンツをPDFで表示

PdfViewOptionsクラスは、ドキュメントをPDF形式にレンダリングするためのオプションを提供します。 「DocumentPDFViewer」の詳細については、ドキュメントを参照してください。

ZIPアーカイブをJPGにレンダリング

以下の簡単な手順に従って、ZIPファイルをJPG画像でレンダリングできます。

  1. Viewerクラスのインスタンスを作成します
  2. 入力ファイルのパスを指定します
  3. JpgViewOptionsクラスのインスタンスを作成します
  4. 出力ファイルのパスを指定します
  5. View()メソッドを呼び出し、JpgViewOptionsを渡します

次のコードサンプルは、C#を使用してJPG画像でZIPファイルをレンダリングする方法を示しています。

// ビューアを初期化する
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// JPG表示オプションを定義する
JpgViewOptions options = new JpgViewOptions("C:\\Files\\output_page_{0}.jpg");

// ビューを作成する
viewer.View(viewOptions);
ZIPアーカイブをJPGにレンダリング

ZIPアーカイブをJPGにレンダリング

ドキュメントをJPGまたはPNG画像形式にレンダリングできます。 JpgViewOptionsクラスは、ドキュメントをJPG形式にレンダリングするためのオプションを提供します。同様に、PngViewOptionsクラスは、ドキュメントをPNG形式にレンダリングするためのオプションを提供します。

DocumentImageViewer」の詳細については、ドキュメントを参照してください。

ZIPアーカイブからフォルダのリストを取得する

以下の手順に従って、プログラムでZIPファイルからすべてのフォルダーとサブフォルダーのリストを取得できます。

  1. Viewerクラスのインスタンスを作成します
  2. 入力ファイルのパスを指定します
  3. ViewInfoOptionsを作成します
  4. GetViewInfo()メソッドを呼び出して、ViewInfoインスタンスを作成します
  5. ArchiveViewInfoを取得します
  6. 結果を表示する

次のコードサンプルは、C#を使用してZIPファイルからフォルダーのリストを取得する方法を示しています。

// ビューアを初期化する
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// ビュー情報オプションを作成する
ViewInfoOptions viewInfoOptions = ViewInfoOptions.ForHtmlView();
ViewInfo viewInfo = viewer.GetViewInfo(viewInfoOptions);

Console.WriteLine("File type: " + viewInfo.FileType);
Console.WriteLine("Pages count: " + viewInfo.Pages.Count);
Console.WriteLine("Folders: ");
Console.WriteLine(" - /");

string rootFolder = string.Empty;
viewInfoOptions.ArchiveOptions.Folder = rootFolder;

// ビュー情報を取得する
ArchiveViewInfo viewFolderInfo = viewer.GetViewInfo(viewInfoOptions) as ArchiveViewInfo;

foreach (string subFolder in viewFolderInfo.Folders)
{
    Console.WriteLine($" - {subFolder}");
    PrintFolders(viewer, subFolder);
}
ZIPアーカイブからフォルダのリストを取得する

ZIPアーカイブからフォルダのリストを取得する

ViewInfoOptionsクラスは、ビューに関する情報を取得するために使用されるオプションを提供します。特定の形式のビュー情報を取得するためのさまざまなメソッドを提供します。 ForHtmlView()メソッドを使用して、ViewInfoOptionsクラスの新しいインスタンスを初期化し、HTMLにレンダリングするときにビューに関する情報を取得しました。

ViewInfoクラスは、汎用ドキュメントのビュー情報を提供します。 ViewerクラスのGetViewInfo()メソッドは、ビューに関する情報とドキュメント固有の情報を返します。

ArchiveViewInfoクラスは、アーカイブファイルのビュー情報を提供します。

ZIPファイルのレンダリングと名前の変更

以下の手順に従って、プログラムでレンダリング中にZIPファイルの名前を変更できます。

  1. Viewerクラスのインスタンスを作成します
  2. 入力ファイルのパスを指定します
  3. PdfViewOptionsクラスのインスタンスを作成します
  4. 出力ファイルのパスを指定します
  5. 表示する新しいファイル名を設定する
  6. View()メソッドを呼び出し、PdfViewOptionsを渡します

次のコードサンプルは、C#を使用してレンダリング中にZIPファイルの名前を変更する方法を示しています。

// ビューアを初期化する
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// PDF表示オプションを定義する
PdfViewOptions viewOptions = new PdfViewOptions("C:\\Files\\output.pdf");
// 新しいファイル名を設定する
viewOptions.ArchiveOptions.FileName = new FileName("MyFiles");

viewer.View(viewOptions);
ZIPファイルのレンダリングと名前の変更

ZIPファイルのレンダリングと名前の変更

ArchiveOptionsクラスは、ヘッダーにファイル名を表示するために使用されるFileNameプロパティを提供します。上記のコード例に示すように、新しい表示名を設定できます。デフォルトでは、ソースファイルの名前が表示されます。

無料ライセンスを取得する

無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを試すことができます。

結論

この記事では、C#を使用してZIPアーカイブをレンダリングする方法を学習しました。また、HTML、PDF、およびJPG画像のZIPファイルのコンテンツを変換および表示する方法も学習しました。さらに、C#でプログラムによってZIPアーカイブからフォルダーとサブフォルダーのリストを取得する方法を学習しました。 ドキュメントを使用して、GroupDocs.Viewer for.NETAPIの詳細を確認できます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目