Renderizar arquivos ZIP usando C#

Os arquivos ZIP contêm um ou mais arquivos ou pastas compactados para atuar como um único arquivo. Estes são amplamente utilizados para economizar espaço de armazenamento e aumentar o desempenho de seus computadores. Você pode transferir efetivamente seus arquivos e pastas em um arquivo ZIP de um local para outro. Como desenvolvedor C#, você pode facilmente renderizar arquivos ZIP e visualizar seu conteúdo programaticamente. Este artigo se concentrará em como renderizar arquivos ZIP usando C#.

Os seguintes tópicos são discutidos/abordados neste artigo:

API C# para visualizar arquivos ZIP

Para a renderização de arquivos ZIP, usarei GroupDocs.Viewer for .NET API. É uma poderosa API de visualizador de documentos que suporta mais de 170 tipos de arquivos e documentos. A API fornece a solução de visualização de documentos mais flexível para renderizar e exibir formatos de arquivo amplamente usados em qualquer lugar sem instalar nenhum software externo. Ele também permite que você visualize rapidamente PDF, HTML, XML, Microsoft Office Word, planilhas do Excel, apresentações do PowerPoint, e-mails do Outlook, diagramas do Visio, Project, meta-arquivos, imagens e vários outros formatos de arquivo com facilidade e com menos riscos de programação.

Você pode baixar a DLL da API ou instalá-la usando o NuGet.

Install-Package GroupDocs.Viewer

Renderizar arquivos ZIP em HTML

Você pode renderizar o arquivo ZIP em HTML seguindo as etapas simples abaixo:

  1. Crie uma instância da classe Viewer
  2. Forneça o caminho do arquivo de entrada
  3. Crie uma instância da classe HtmlViewOptions
  4. Forneça o caminho do arquivo de saída
  5. Chame o método View() e passe HtmlViewOptions

O exemplo de código a seguir mostra como renderizar o arquivo ZIP em HTML usando C#.

// inicializar visualizador
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// definir opções de visualização HTML
HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources("C:\\Files\\output.html");
viewOptions.RenderToSinglePage = true;

// criar visualização
viewer.View(viewOptions);
Renderizar arquivos ZIP em HTML

Renderizar arquivos ZIP em HTML

A classe Viewer é a classe principal que fornece funcionalidade para controlar o processo de renderização do documento. O método View() desta classe cria a visualização de todas as páginas do documento.

A classe HtmlViewOptions fornece opções para a renderização de documentos no formato HTML. O método construtor ForEmbeddedResources cria uma nova instância da classe HtmlViewOptions para renderização em HTML com recursos incorporados. Como você pode ver, forneci o caminho do arquivo de saída no exemplo de código.

Você pode encontrar mais detalhes sobre “Document HTML Viewer” na documentação.

Renderizar pasta específica de arquivos ZIP em HTML

Você pode renderizar uma pasta específica disponível dentro do arquivo ZIP em HTML seguindo as etapas simples abaixo:

  1. Crie uma instância da classe Viewer
  2. Forneça o caminho do arquivo de entrada
  3. Crie uma instância da classe HtmlViewOptions
  4. Forneça o caminho do arquivo de saída
  5. Defina o nome da pasta para renderizar
  6. Chame o método View() e passe HtmlViewOptions

O exemplo de código a seguir mostra como renderizar uma pasta específica do arquivo ZIP em HTML usando C#.

// inicializar visualizador
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// definir opções de visualização HTML
HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources("C:\\Files\\output.html");
// definir nome da pasta
viewOptions.ArchiveOptions.Folder = "ThirdFolderWithItems";

// criar visualização
viewer.View(viewOptions);
Renderizar pasta específica de arquivos ZIP em HTML

Renderizar pasta específica de arquivos ZIP em HTML

A classe ArchiveOptions fornece opções para a renderização de arquivos compactados. Ele permite renderizar uma pasta específica de arquivos ZIP fornecendo o nome da pasta disponível dentro do arquivo.

Visualizar conteúdo de arquivos ZIP em PDF

Você pode renderizar o arquivo ZIP em documento PDF seguindo as etapas simples abaixo:

  1. Crie uma instância da classe Viewer
  2. Forneça o caminho do arquivo de entrada
  3. Crie uma instância da classe PdfViewOptions
  4. Forneça o caminho do arquivo de saída
  5. Chame o método View() e passe PdfViewOptions

O exemplo de código a seguir mostra como renderizar o arquivo ZIP em PDF usando C#.

// inicializar visualizador
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// definir opções de visualização de PDF
PdfViewOptions options = new PdfViewOptions("C:\\Files\\output.pdf");

// criar visualização
viewer.View(viewOptions);
Visualizar conteúdo de arquivos ZIP em PDF

Visualizar conteúdo de arquivos ZIP em PDF

A classe PdfViewOptions oferece opções para a renderização de documentos em formato PDF. Você pode encontrar mais detalhes sobre “Document PDF Viewer” na documentação.

Renderizar arquivos ZIP para JPG

Você pode renderizar o arquivo ZIP na imagem JPG seguindo as etapas simples abaixo:

  1. Crie uma instância da classe Viewer
  2. Forneça o caminho do arquivo de entrada
  3. Crie uma instância da classe JpgViewOptions
  4. Forneça o caminho do arquivo de saída
  5. Chame o método View() e passe JpgViewOptions

O exemplo de código a seguir mostra como renderizar o arquivo ZIP na imagem JPG usando C#.

// inicializar visualizador
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// definir opções de visualização JPG
JpgViewOptions options = new JpgViewOptions("C:\\Files\\output_page_{0}.jpg");

// criar visualização
viewer.View(viewOptions);
Renderizar arquivos ZIP para JPG

Renderizar arquivos ZIP para JPG

Você pode renderizar documentos para os formatos de imagem JPG ou PNG. A classe JpgViewOptions oferece opções para renderização de documentos no formato JPG. Da mesma forma, a classe PngViewOptions fornece opções para renderizar documentos no formato PNG.

Você pode encontrar mais detalhes sobre “Visualizador de imagens de documentos” na documentação.

Obter uma lista de pastas de arquivos ZIP

Você pode obter uma lista de todas as pastas e subpastas do arquivo ZIP programaticamente seguindo as etapas abaixo:

  1. Crie uma instância da classe Viewer
  2. Forneça o caminho do arquivo de entrada
  3. Criar ViewInfoOptions
  4. Crie uma instância ViewInfo chamando o método GetViewInfo()
  5. Obter ArquivoViewInfo
  6. Mostrar os resultados

O exemplo de código a seguir mostra como obter uma lista de pastas do arquivo ZIP usando C#.

// inicializar visualizador
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// criar opções de informações de visualização
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;

// obter informações de visualização
ArchiveViewInfo viewFolderInfo = viewer.GetViewInfo(viewInfoOptions) as ArchiveViewInfo;

foreach (string subFolder in viewFolderInfo.Folders)
{
    Console.WriteLine($" - {subFolder}");
    PrintFolders(viewer, subFolder);
}
Obter uma lista de pastas de arquivos ZIP

Obter uma lista de pastas de arquivos ZIP

A classe ViewInfoOptions fornece opções usadas para recuperar as informações sobre a exibição. Ele fornece vários métodos para obter informações de visualização para formatos específicos. Eu usei o método ForHtmlView() que inicializa uma nova instância da classe ViewInfoOptions para recuperar informações sobre a visualização ao renderizar em HTML.

A classe ViewInfo fornece informações de visualização para os documentos genéricos. O método GetViewInfo() da classe Viewer retorna informações sobre a visualização e informações específicas do documento.

A classe ArchiveViewInfo fornece informações de visualização para o arquivo morto.

Renderizar e renomear arquivos ZIP

Você pode renomear arquivos ZIP durante a renderização de forma programática seguindo as etapas abaixo:

  1. Crie uma instância da classe Viewer
  2. Forneça o caminho do arquivo de entrada
  3. Crie uma instância da classe PdfViewOptions
  4. Forneça o caminho do arquivo de saída
  5. Definir novo nome de arquivo para exibição
  6. Chame o método View() e passe PdfViewOptions

O exemplo de código a seguir mostra como renomear o arquivo ZIP durante a renderização usando C#.

// inicializar visualizador
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// definir opções de visualização de PDF
PdfViewOptions viewOptions = new PdfViewOptions("C:\\Files\\output.pdf");
// definir novo nome de arquivo
viewOptions.ArchiveOptions.FileName = new FileName("MyFiles");

viewer.View(viewOptions);
Renderizar e renomear arquivos ZIP

Renderizar e renomear arquivos ZIP

A classe ArchiveOptions fornece a propriedade FileName que é usada para exibir o nome do arquivo no cabeçalho. Você pode definir um novo nome de exibição conforme mostrado no exemplo de código acima. Por padrão, ele exibe o nome do arquivo de origem.

Obtenha uma licença gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como renderizar arquivos ZIP usando C#. Você também aprendeu a converter e visualizar o conteúdo de arquivos ZIP em imagens HTML, PDF e JPG. Além disso, você aprendeu como obter uma lista de pastas e subpastas do arquivo ZIP programaticamente em C#. Você pode aprender mais sobre GroupDocs.Viewer para .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também