【问题标题】:Reduce PDF file size减小 PDF 文件大小
【发布时间】:2019-03-03 08:25:12
【问题描述】:

我在 iText 7 中使用 pdfHTML 插件来创建可访问的 PDF。生成的 PDF 文件很大。 例如,17 页的 PDF 文件有 3709KB。我使用下面的代码来压缩 PDF。

SetFullCompressionMode(true)
SetCompressionLevel(CompressionConstants.BEST_COMPRESSION)

它将文件大小从 3709kB 减少到 3396KB。

还有其他方法可以减小 PDF 文件的大小吗?

【问题讨论】:

  • 如果您能提供minimal reproducible example,那就太好了。
  • 好吧,发布一个指向生成的 PDF 的链接,如果我们查看它的内容可能会有所帮助...我已经使用 iText 7 (iTextSharp) 很多年了,它运行良好。文件大小由其包含的内容决定。一个 5 页的 PDF 很容易变成 20MB,所以@hellyale 的引用并不那么直观......
  • 除了 pdf 之外,请发布足够的代码,以便我们了解您如何创建 pdf 并让我们为您提供如何改进代码的提示。例如:如果您使用多个字体对象并且每次都嵌入整个字体,而不仅仅是一个子集,那么您的 pdf 大小显然会爆炸。
  • @UweKeim 会在您看到此类情况时提出自定义 mod 标志(而不是发表评论),我们将调查投票欺诈。
  • 您能否在 Acrobat (Pro) 中打开生成的文档,转到菜单文件 --> 保存为优化,然后在该对话框中查看审核空间使用的结果。这应该会给您一些提示,以便进一步查看。 “通常的嫌疑人”是转换为轮廓的图像、字体和/或文本。

标签: c# pdf itext itext7


【解决方案1】:

我可以解决这个问题。就我而言,对于我的 pdf 文档,我为页脚、页眉和水印文本使用了 3 个页面事件。在此页面事件中,我编写了以下代码来创建字体。

pdfFontFactory.CreateFont(font,pdfEncordings.IDENTITY_H,true);

我删除了那个并一次性创建了字体并将其传递给每个事件。 然后页面大小减少到 3709kB 到 2150KB。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    • 2020-03-18
    • 2011-01-10
    • 1970-01-01
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多