压缩pdf文件使其更大

时间:2013-04-06 14:59:34

标签: asp.net-mvc-3 gzipstream

我压缩上传的.pdf文件并将其保存到服务器的文件系统中。一切都运作良好,但文件变大,从30kb到48kb。我能做错什么?这是压缩上传文件的代码部分:

FileStream sourceFile = System.IO.File.OpenRead(filePath);
FileStream destFile = System.IO.File.Create(zipPath);
GZipStream compStream = new GZipStream(destFile, CompressionMode.Compress);

try
{
    int theByte = sourceFile.ReadByte();
    while (theByte != -1)
    {
        compStream.WriteByte((byte)theByte);
        theByte = sourceFile.ReadByte();
    }
}

3 个答案:

答案 0 :(得分:1)

我想这里的问题是GZipLib。我使用了DotNetZip而文件变得越来越小了。可以下载here

答案 1 :(得分:0)

System.IO.Compression .. ::。DeflateStream和System.IO.Compression .. ::。GZipStream类的压缩算法已得到改进,因此已压缩的数据不再膨胀。这导致更好的压缩比。此外,已经删除了压缩流的4千兆字节大小限制。

它已在.NET 4中修复。

答案 2 :(得分:-2)

  

我可能做错了什么?

PDF文件标准已经提供了不同部分的压缩。所以你得到的可能是一个已压缩的文件。并且您知道当您尝试压缩压缩文件时会发生什么?这就像你试图压缩ZIP文件一样:有点无用。