Рендеринг ZIP-архивов с использованием C#

ZIP-файлы содержат один или несколько сжатых файлов или папок, которые действуют как один файл. Они широко используются для экономии места на диске и повышения производительности компьютеров. Вы можете эффективно переносить файлы и папки в ZIP-архиве из одного места в другое. Как разработчик C#, вы можете легко обрабатывать ZIP-архивы и просматривать их содержимое программными средствами. В этой статье основное внимание будет уделено тому, как визуализировать ZIP-архивы с помощью C#.

В этой статье обсуждаются/рассматриваются следующие темы:

C# API для просмотра ZIP-файлов

Для рендеринга ZIP-файлов я буду использовать GroupDocs.Viewer для .NET API. Это мощный API для просмотра документов, который поддерживает более 170 типов файлов и документов. API предоставляет наиболее гибкое решение для просмотра документов, позволяющее визуализировать и отображать широко используемые форматы файлов в любом месте без установки какого-либо внешнего программного обеспечения. Это также позволяет вам быстро просматривать PDF, HTML, XML, Microsoft Office Word, рабочие листы Excel, презентации PowerPoint, электронные письма Outlook, диаграммы Visio, Project, метафайлы, изображения и различные другие форматы файлов с легкостью и с меньшими опасностями программирования.

Вы можете либо скачать DLL API, либо установить его с помощью NuGet.

Install-Package GroupDocs.Viewer

Рендеринг ZIP-архивов в HTML

Вы можете преобразовать ZIP-файл в HTML, выполнив простые шаги, указанные ниже:

  1. Создайте экземпляр класса Viewer.
  2. Укажите путь к входному файлу
  3. Создайте экземпляр класса HtmlViewOptions.
  4. Укажите путь к выходному файлу
  5. Вызовите метод View() и передайте HtmlViewOptions

В следующем примере кода показано, как отобразить ZIP-файл в формате HTML с помощью C#.

// инициализировать средство просмотра
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 создает новый экземпляр класса HtmlViewOptions для рендеринга в HTML со встроенными ресурсами. Как видите, я указал путь к выходному файлу в примере кода.

Вы можете найти более подробную информацию о «Document HTML Viewer» в документации.

Рендеринг определенной папки из ZIP-архивов в HTML

Вы можете отобразить определенную папку, доступную внутри ZIP-файла в HTML, выполнив простые шаги, указанные ниже:

  1. Создайте экземпляр класса Viewer.
  2. Укажите путь к входному файлу
  3. Создайте экземпляр класса HtmlViewOptions.
  4. Укажите путь к выходному файлу
  5. Установите имя папки для рендеринга
  6. Вызовите метод View() и передайте HtmlViewOptions

В следующем примере кода показано, как отобразить определенную папку из ZIP-файла в HTML с помощью C#.

// инициализировать средство просмотра
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// определить параметры просмотра HTML
HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources("C:\\Files\\output.html");
// установить имя папки
viewOptions.ArchiveOptions.Folder = "ThirdFolderWithItems";

// создать представление
viewer.View(viewOptions);
Рендеринг определенной папки из ZIP-архивов в HTML

Рендеринг определенной папки из ZIP-архивов в HTML

Класс ArchiveOptions предоставляет опции для рендеринга архивных файлов. Это позволяет вам визуализировать определенную папку из ZIP-архивов, указав имя папки, доступной внутри архива.

Просмотр содержимого ZIP-архивов в формате PDF

Вы можете преобразовать ZIP-файл в документ PDF, выполнив простые шаги, указанные ниже:

  1. Создайте экземпляр класса Viewer.
  2. Укажите путь к входному файлу
  3. Создайте экземпляр класса PdfViewOptions.
  4. Укажите путь к выходному файлу
  5. Вызовите метод View() и передайте PdfViewOptions

В следующем примере кода показано, как преобразовать ZIP-файл в PDF с помощью C#.

// инициализировать средство просмотра
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. Вы можете найти более подробную информацию о «Document PDF Viewer» в документации.

Преобразование ZIP-архивов в JPG

Вы можете преобразовать ZIP-файл в изображение JPG, выполнив простые шаги, указанные ниже:

  1. Создайте экземпляр класса Viewer.
  2. Укажите путь к входному файлу
  3. Создайте экземпляр класса JpgViewOptions.
  4. Укажите путь к выходному файлу
  5. Вызовите метод View() и передайте JpgViewOptions

В следующем примере кода показано, как преобразовать ZIP-файл в изображение JPG с помощью C#.

// инициализировать средство просмотра
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.

Вы можете найти более подробную информацию о «Document Image Viewer» в документации.

Получить список папок из ZIP-архивов

Вы можете программно получить список всех папок и подпапок из ZIP-файла, выполнив следующие действия:

  1. Создайте экземпляр класса Viewer.
  2. Укажите путь к входному файлу
  3. Создайте ViewInfoOptions
  4. Создайте экземпляр ViewInfo, вызвав метод GetViewInfo().
  5. Получить Архиввиевинфо
  6. Показать результаты

В следующем примере кода показано, как получить список папок из ZIP-файла с помощью C#.

// инициализировать средство просмотра
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 предоставляет информацию о просмотре для общих документов. Метод GetViewInfo() класса Viewer возвращает информацию о представлении и информацию о документе.

Класс ArchiveViewInfo предоставляет информацию о просмотре архивного файла.

Рендеринг и переименование ZIP-файлов

Вы можете переименовывать ZIP-файлы при программном рендеринге, выполнив следующие действия:

  1. Создайте экземпляр класса Viewer.
  2. Укажите путь к входному файлу
  3. Создайте экземпляр класса PdfViewOptions.
  4. Укажите путь к выходному файлу
  5. Установите новое имя файла для отображения
  6. Вызовите метод View() и передайте PdfViewOptions

В следующем примере кода показано, как переименовать ZIP-файл во время отрисовки с помощью C#.

// инициализировать средство просмотра
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 без ограничений по ознакомительной версии, запросив бесплатную временную лицензию.

Вывод

В этой статье вы узнали, как визуализировать ZIP-архивы с помощью C#. Вы также узнали, как преобразовывать и просматривать содержимое файлов ZIP в изображения HTML, PDF и JPG. Более того, вы узнали, как программно на C# получить список папок и подпапок из ZIP-архива. Вы можете узнать больше о GroupDocs.Viewer для .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также