Crea un file ZIP con C#

Compressione efficiente in .NET - riduci le dimensioni, impacchetta i dati e automatizza l’archiviazione.

Come creare una cartella ZIP compressa

Comprimere il contenuto di un file o di una cartella in un archivio ZIP è una pratica comune per risparmiare spazio, semplificare lo scambio di dati e standardizzare i backup. Con Aspose.Zip per .NET puoi creare e popolare archivi direttamente in C# (file singoli, cartelle complete o batch), controllare il livello di compressione e abilitare protezione con password o cifratura AES. L’API si integra bene in servizi server-side, tool interni, pipeline CI/CD e applicazioni desktop.

Crea un archivio ZIP di immagini con C#

Per archiviare immagini (BMP, JPG, GIF, TIFF e altro), il flusso è semplice - crea un oggetto FileStream per l’output, apri le immagini sorgenti e usa la classe Archive . Aggiungi ogni file con il metodo CreateEntry e completa con il metodo Save .

Esempio di codice C# per creare un archivio ZIP contenente immagini.

  // For complete examples and data files, please go to https://github.com/aspose-zip/Aspose.ZIP-for-.NET
  using (FileStream zipFile = File.Open(dataDir + "CompressSingleFile_out.zip", FileMode.Create))
  {
      //File to be added to archive
      using (FileStream source1 = File.Open(dataDir + "picture123.png", FileMode.Open, FileAccess.Read))
      {
          using (var archive = new Archive(new ArchiveEntrySettings()))
          {
              archive.CreateEntry("picture123.png", source1);
              
              archive.Save(zipFile);
          }
      }
  }

Converti un PDF in ZIP con C#

Il principio è lo stesso per un PDF - istanzia Archive, aggiungi il file con CreateEntry e poi chiama Save per scrivere lo ZIP. Puoi anche aggiungere più documenti, memorizzare senza compressione, mantenere la struttura di cartelle e adattare le opzioni al tuo scenario.

Esempio C# per creare un archivio ZIP da file PDF.

  var dir = "full directory path";
  using (var arch = new Archive())
  {
    arch.CreateEntry("filename.pdf", dir+"file.pdf");
    arch.Save(dir+"pdf-files-archived_result.zip");
  }

ZIP di più file con password

Aspose.Zip supporta l’archiviazione di più file e cartelle con diversi metodi di cifratura, inclusi cifratura tradizionale e AES (AES128, AES192, AES256). Il flusso resta lo stesso - aggiungi entry e salva - configurando la cifratura in base alle tue esigenze.

Esempio C# per archiviare più file con cifratura.

  using (FileStream zipFile = File.Open(dataDir + "CompressWithTraditionalEncryption_out.zip", FileMode.Create))
  {
      using (FileStream file1 = File.Open(dataDir + "alice29.txt", FileMode.Open, FileAccess.Read))
      {
      using (FileStream file2 = File.Open(dataDir + "asyoulike.txt", FileMode.Open, FileAccess.Read))
        {
          using (var archive = new Archive(new ArchiveEntrySettings(null, new TraditionalEncryptionSettings("p@s$"))))
          {
            archive.CreateEntry("alice29.txt", file1);
            archive.CreateEntry("asyoulik3.txt", file2);
            archive.Save(zipFile);
          }
                
        }
      }
  }

Documentazione - funzionalità di compressione in Aspose.ZIP per .NET

Aspose.Zip per .NET è progettato per gestire la compressione degli archivi in modo affidabile con un’API chiara e buone prestazioni. Puoi manipolare archivi, convertire tra formati e controllare struttura delle entry, stream I/O e opzioni di sicurezza. Il namespace ZIP include le classi principali per lavorare con archivi ZIP e entità correlate.

Altri formati supportati per la compressione

Puoi anche comprimere file PNG, PPT, MPX, MP3, GPX, HTML, DOCX, JPEG, XML e molti altri formati in un archivio ZIP.