Rendu des archives ZIP à l'aide de C#

Les fichiers ZIP contiennent un ou plusieurs fichiers ou dossiers compressés pour agir comme un seul fichier. Ceux-ci sont largement utilisés pour économiser de l’espace de stockage et augmenter les performances de vos ordinateurs. Vous pouvez transférer efficacement vos fichiers et dossiers dans une archive ZIP d’un emplacement à un autre. En tant que développeur C#, vous pouvez facilement restituer des archives ZIP et afficher leur contenu par programmation. Cet article se concentrera sur comment rendre les archives ZIP à l’aide de C#.

Les sujets suivants sont abordés/couverts dans cet article:

API C# pour afficher les fichiers ZIP

Pour le rendu des fichiers ZIP, j’utiliserai GroupDocs.Viewer for .NET API. Il s’agit d’une puissante API de visionneuse de documents qui prend en charge plus de 170 types de fichiers et de documents. L’API fournit la solution de visualisation de documents la plus flexible pour rendre et afficher des formats de fichiers largement utilisés n’importe où sans installer de logiciel externe. Il vous permet également de visualiser rapidement des fichiers PDF, HTML, XML, Microsoft Office Word, des feuilles de calcul Excel, des présentations PowerPoint, des e-mails Outlook, des diagrammes Visio, des projets, des métafichiers, des images et divers autres formats de fichiers avec facilité et avec moins de risques de programmation.

Vous pouvez soit télécharger la DLL de l’API, soit l’installer à l’aide de NuGet.

Install-Package GroupDocs.Viewer

Rendu des archives ZIP en HTML

Vous pouvez afficher le fichier ZIP au format HTML en suivant les étapes simples ci-dessous:

  1. Créez une instance de la Viewer class
  2. Indiquez le chemin du fichier d’entrée
  3. Créer une instance de HtmlViewOptions classe
  4. Indiquez le chemin du fichier de sortie
  5. Appelez la méthode View() et passez HtmlViewOptions

L’exemple de code suivant montre comment rendre le fichier ZIP au format HTML à l’aide de C#.

// initialiser la visionneuse
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// définir les options d'affichage HTML
HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources("C:\\Files\\output.html");
viewOptions.RenderToSinglePage = true;

// créer une vue
viewer.View(viewOptions);
Rendu des archives ZIP en HTML

Rendu des archives ZIP en HTML

La classe Viewer est la classe principale qui fournit des fonctionnalités pour contrôler le processus de rendu du document. La méthode View() de cette classe crée la vue de toutes les pages du document.

La classe HtmlViewOptions fournit des options pour le rendu des documents au format HTML. La méthode constructeur ForEmbeddedResources crée une nouvelle instance de la classe HtmlViewOptions pour le rendu en HTML avec des ressources intégrées. Comme vous pouvez le voir, j’ai fourni le chemin du fichier de sortie dans l’exemple de code.

Vous pouvez trouver plus de détails sur “Document HTML Viewer” dans la documentation.

Rendre un dossier spécifique à partir d’archives ZIP en HTML

Vous pouvez rendre un dossier spécifique disponible dans le fichier ZIP en HTML en suivant les étapes simples ci-dessous:

  1. Créez une instance de la Viewer class
  2. Indiquez le chemin du fichier d’entrée
  3. Créer une instance de HtmlViewOptions classe
  4. Indiquez le chemin du fichier de sortie
  5. Définissez le nom du dossier à rendre
  6. Appelez la méthode View() et passez HtmlViewOptions

L’exemple de code suivant montre comment rendre un dossier spécifique à partir du fichier ZIP en HTML à l’aide de C#.

// initialiser la visionneuse
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// définir les options d'affichage HTML
HtmlViewOptions viewOptions = HtmlViewOptions.ForEmbeddedResources("C:\\Files\\output.html");
// définir le nom du dossier
viewOptions.ArchiveOptions.Folder = "ThirdFolderWithItems";

// créer une vue
viewer.View(viewOptions);
Rendre un dossier spécifique à partir d'archives ZIP en HTML

Rendre un dossier spécifique à partir d’archives ZIP en HTML

La classe ArchiveOptions fournit des options pour le rendu des fichiers d’archive. Il vous permet de rendre un dossier spécifique à partir d’archives ZIP en fournissant le nom du dossier disponible dans l’archive.

Afficher le contenu des archives ZIP au format PDF

Vous pouvez rendre le fichier ZIP dans un document PDF en suivant les étapes simples ci-dessous:

  1. Créez une instance de la Viewer class
  2. Indiquez le chemin du fichier d’entrée
  3. Créer une instance de PdfViewOptions classe
  4. Indiquez le chemin du fichier de sortie
  5. Appelez la méthode View() et passez PdfViewOptions

L’exemple de code suivant montre comment rendre le fichier ZIP au format PDF à l’aide de C#.

// initialiser la visionneuse
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// définir les options d'affichage PDF
PdfViewOptions options = new PdfViewOptions("C:\\Files\\output.pdf");

// créer une vue
viewer.View(viewOptions);
Afficher le contenu des archives ZIP au format PDF

Afficher le contenu des archives ZIP au format PDF

La classe PdfViewOptions fournit des options pour le rendu des documents au format PDF. Vous pouvez trouver plus de détails sur “Document PDF Viewer” dans la documentation.

Rendu des archives ZIP au format JPG

Vous pouvez rendre le fichier ZIP en image JPG en suivant les étapes simples ci-dessous:

  1. Créez une instance de la Viewer class
  2. Indiquez le chemin du fichier d’entrée
  3. Créer une instance de JpgViewOptions classe
  4. Indiquez le chemin du fichier de sortie
  5. Appelez la méthode View() et passez JpgViewOptions

L’exemple de code suivant montre comment rendre le fichier ZIP en image JPG à l’aide de C#.

// initialiser la visionneuse
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// définir les options d'affichage JPG
JpgViewOptions options = new JpgViewOptions("C:\\Files\\output_page_{0}.jpg");

// créer une vue
viewer.View(viewOptions);
Rendu des archives ZIP au format JPG

Rendu des archives ZIP au format JPG

Vous pouvez restituer des documents aux formats d’image JPG ou PNG. La classe JpgViewOptions fournit des options pour le rendu des documents au format JPG. De même, la classe PngViewOptions fournit des options pour rendre les documents au format PNG.

Vous pouvez trouver plus de détails sur “Document Image Viewer” dans la documentation.

Obtenir une liste de dossiers à partir d’archives ZIP

Vous pouvez obtenir une liste de tous les dossiers et sous-dossiers du fichier ZIP par programmation en suivant les étapes ci-dessous:

  1. Créez une instance de la Viewer class
  2. Indiquez le chemin du fichier d’entrée
  3. Créer ViewInfoOptions
  4. Créez une instance ViewInfo en appelant la méthode GetViewInfo()
  5. Obtenez ArchiveViewInfo
  6. Afficher les résultats

L’exemple de code suivant montre comment obtenir une liste de dossiers à partir du fichier ZIP à l’aide de C#.

// initialiser la visionneuse
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// créer des options d'informations d'affichage
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;

// obtenir des informations sur les vues
ArchiveViewInfo viewFolderInfo = viewer.GetViewInfo(viewInfoOptions) as ArchiveViewInfo;

foreach (string subFolder in viewFolderInfo.Folders)
{
    Console.WriteLine($" - {subFolder}");
    PrintFolders(viewer, subFolder);
}
Obtenir une liste de dossiers à partir d'archives ZIP

Obtenir une liste de dossiers à partir d’archives ZIP

La classe ViewInfoOptions fournit des options utilisées pour récupérer les informations sur la vue. Il fournit diverses méthodes pour obtenir des informations sur la vue pour des formats spécifiques. J’ai utilisé la méthode ForHtmlView() qui initialise une nouvelle instance de la classe ViewInfoOptions pour récupérer des informations sur la vue lors du rendu en HTML.

La classe ViewInfo fournit des informations d’affichage pour les documents génériques. La méthode GetViewInfo() de la classe Viewer renvoie des informations sur la vue et des informations spécifiques au document.

La classe ArchiveViewInfo fournit des informations d’affichage pour le fichier d’archive.

Rendre et renommer les fichiers ZIP

Vous pouvez renommer les fichiers ZIP lors du rendu par programmation en suivant les étapes ci-dessous:

  1. Créez une instance de la Viewer class
  2. Indiquez le chemin du fichier d’entrée
  3. Créer une instance de PdfViewOptions classe
  4. Indiquez le chemin du fichier de sortie
  5. Définir le nouveau nom de fichier à afficher
  6. Appelez la méthode View() et passez PdfViewOptions

L’exemple de code suivant montre comment renommer le fichier ZIP lors du rendu à l’aide de C#.

// initialiser la visionneuse
Viewer viewer = new Viewer("C:\\Files\\sample.zip");

// définir les options d'affichage PDF
PdfViewOptions viewOptions = new PdfViewOptions("C:\\Files\\output.pdf");
// définir un nouveau nom de fichier
viewOptions.ArchiveOptions.FileName = new FileName("MyFiles");

viewer.View(viewOptions);
Rendre et renommer les fichiers ZIP

Rendre et renommer les fichiers ZIP

La classe ArchiveOptions fournit la propriété FileName qui est utilisée pour afficher le nom du fichier dans l’en-tête. Vous pouvez définir un nouveau nom d’affichage comme indiqué dans l’exemple de code ci-dessus. Par défaut, il affiche le nom du fichier source.

Obtenez une licence gratuite

Vous pouvez essayer l’API sans limites d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris comment rendre des archives ZIP à l’aide de C#. Vous avez également appris comment convertir et afficher le contenu des fichiers ZIP en images HTML, PDF et JPG. De plus, vous avez appris comment obtenir une liste de dossiers et de sous-dossiers à partir de l’archive ZIP par programmation en C#. Vous pouvez en savoir plus sur l’API GroupDocs.Viewer pour .NET à l’aide de la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également