MVC3 retorna vários pdfs como um arquivo zip

Eu tenho uma visão que retorna um pdf (usando iTextSharp) com várias páginas, mas agora eu tenho que mudá-lo para que cada página é um pdf separado (com seu próprio título único) e retornar um arquivo zip.

Meu código original é assim:

public FileStreamResult DownloadPDF()
{
    MemoryStream workStream = new MemoryStream();
    Document document = new Document();
    PdfWriter.GetInstance(document, workStream).CloseStream = false;
    document.Open();

    // Populate pdf items

    document.Close();

    byte[] byteInfo = workStream.ToArray();
    workStream.Write(byteInfo, 0, byteInfo.Length);
    workStream.Position = 0;

    FileStreamResult fileResult = new FileStreamResult(workStream, "application/pdf");
    fileResult.FileDownloadName = "fileName";

    return fileResult;
}

Parece bem simples compactar um arquivo com gzip, mas não sei como compactar vários arquivos e retorná-lo como um arquivo zip. Ou devo usar algo diferente de gzip, como dotnetzip ou sharpzip?

Desde já, obrigado!

questionAnswers(4)

yourAnswerToTheQuestion