【发布时间】:2016-09-29 08:22:29
【问题描述】:
如果 pdf 文件超过 5Mb,我想将 pdf 文件保存到数据库,然后数据库变得沉重或负担更多的文件。所以我想尽可能减少 Pdf 文件的大小... . 我尝试了以下代码,但没有工作。请帮助将大 PDF 压缩为更小的尺寸。例如,如果 PDF 大小为 2Mb,它将压缩到 700Kb。我尝试了很多例子,但没有得到输出。所以请帮忙..
PdfReader reader = new PdfReader("D:/User Guid for Artificial Skin.pdf");
PdfStamper stamper = new PdfStamper(reader, new FileStream("d:/pdfdoccompressed.pdf", FileMode.Create), PdfWriter.VERSION_1_5);
reader.SetPageContent(1, reader.GetPageContent(1));
int pageNum = reader.NumberOfPages;
for (int i = 1; i <= pageNum; i++)
{
reader.SetPageContent(i, reader.GetPageContent(i));
}
stamper.FormFlattening = true;
stamper.Writer.CompressionLevel = PdfStream.BEST_COMPRESSION;
stamper.SetFullCompression();
stamper.Close();
【问题讨论】:
-
是什么让您认为可以进一步压缩 PDF?
-
您说您有一个 1 MB 的示例文件,并且您希望将此文件压缩到 300 KB。为什么你期望这是可能的?其他软件是否对同一文件执行相同操作?你知道压缩是如何工作的吗?
-
我是 stackoverflow 的新手,请给我建议如何找到答案。如何致电 Mr.Pied Piper 或 Mr.Jan Sloot
-
@Moumit 我现在已经多次询问 OP为什么他们认为他们可以将 1 MB 的 PDF 压缩成 300 KB。如果他们只能回答“这是我的要求”,那么 Stack Overflow 就不是他们寻求帮助的地方。你告诉他们压缩数据然后解压缩它更没有帮助。您无法进一步无损压缩压缩的 PDF。
-
@VarahalaBabu .. 我希望现在上面的转换可以帮助您.. 重新考虑需求...
标签: c# asp.net pdf compression ext.net