【问题标题】:iTextSharp, Why when creating a PDF file size is 2 times larger than the original folder with images?iTextSharp,为什么创建 PDF 文件时大小是原始文件夹的 2 倍?
【发布时间】:2019-08-24 15:51:13
【问题描述】:

我需要完成的 PDF 文件比原始图像文件夹小 30%。

有一个包含 tiff 格式图像的文件夹。然后我每页添加一张图片(Doc = new document()等),生成的文档大小等于图片文件夹的大小。但是通过doc.Close() PDF文件大小增加了两倍(所以我后来使用压缩PDF然后文件大约等于文件夹),但我需要完成的PDF文件比原始图像小30%文件夹。

【问题讨论】:

  • 请分享示例代码和数据以重现问题。

标签: c# pdf itext png tiff


【解决方案1】:

大多数图像格式都已压缩,因此不会再压缩。 PDF 通常会压缩,因为它们主要是文本,但主要是图像的则不会。

此外,压缩例程通常假定数据适合压缩。如果你给他们预压缩的数据,结果可能是一个更大的文件。如果不查看您的文件,很难准确判断发生了什么,但我想这就是原因。

如果您想要更小的文件,则必须减少图像中的信息量。裁剪它们、减少颜色深度、增加压缩或减少图像数量。

【讨论】:

  • 我从另一个 pdf 中获取图像,它们的格式定义为 PNG。我试过:1.保留PNG格式的图像并将它们添加到PDF(原始图像文件夹约为~52MB,添加所有图像后的PDF~52MB,通过代码doc.Close()~88mb后的PDF,PDF压缩后 ~54 ) 2. 将图像保存为 TIF 格式而不压缩(大小与第 1 点相同) 3. 将图像保存在 TIF CCITT6 中(源图像文件夹约 ~23Мб,添加所有图像后的 PDF ~23Мб,PDF 后代码 doc.Close() ~48MB, PDF 压缩后 ~24MB )
  • 当 doc.Close() 因为什么尺寸膨胀时会发生什么?开箱?当图像没有打包时?
  • 没有看到您的完整代码您的文件,不可能给出比 Robin 已经给出的出色答案更完整的答案。 (赞成)
  • 就像我说的,我猜大小的增加是由于试图压缩已经高度压缩的文件。您提到的所有文件格式都包括压缩。尝试将您的一个文件转换为 BMP(它会大得多)然后压缩它(它应该减小到接近原始大小)
猜你喜欢
  • 2022-06-30
  • 2021-03-26
  • 2014-02-17
  • 1970-01-01
  • 2016-08-04
  • 2012-01-05
  • 2014-10-14
  • 2015-01-19
  • 2018-09-20
相关资源
最近更新 更多