首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何优化PDF文件大小?

如何优化PDF文件大小?
EN

Stack Overflow用户
提问于 2009-05-04 07:57:04
回答 2查看 10.3K关注 0票数 9

我有一个输入PDF文件(通常由pdfTeX生成,但并不总是由生成),我想将它转换为输出PDF,这在视觉上是等价的(不管分辨率如何),它具有相同的元数据(Unicode文本信息、超链接、大纲等),但文件大小尽可能小。

我知道以下方法:

  • java -cp Multivalent.jar tool.pdf.Compress input.pdf (来自http://multivalent.sourceforge.net/)。这将重新压缩所有流,删除未使用的对象,统一等效对象,压缩空白,删除默认值,压缩交叉引用表。
  • 利用jbig2和PNGOUT对合适的图像进行复原。
  • 将Type1字体重新编码为CFF字体。
  • 统一等效图像。
  • 将同一字体的子集统一为更大的子集。
  • 拆卸可填充的表单。
  • 在蒸馏或其他转换(如gs -sDEVICE=pdfwrite)时,确保它不会降低图像质量,并且不会增加(!)图像大小。

我知道以下技巧,但它们不适用于我的情况,因为我已经有了PDF:

  • 使用较小和/或较少的字体。
  • 使用矢量图像而不是位图图像。

你有其他的想法如何优化PDF吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-05-04 07:59:58

优化PDF文件

避免折射图形

对于必须作为位图插入的图形,请为最大可压缩性和最小尺寸做好准备。在PDF的输出分辨率上使用最佳质量的图像。将压缩JPEG插入到PDF中并对其进行拆分可能会重新压缩JPEG,这可能会产生明显的伪影。使用黑白图像和文本,而不是彩色图像,以允许使用较新的JBIG2标准,擅长单色压缩。在为Web保存PDF时,一定要关闭缩略图。使用矢量图形

在可能的情况下,使用基于矢量的图形处理通常会被制作成GIF的图像。矢量图像缩放得很好,看上去很棒,它们的数学公式通常比描述每个像素的位图图形占用更少的空间(尽管在某些情况下,位图图形实际上比矢量图形要小)。您还可以使用ZIP压缩压缩矢量图像数据,ZIP压缩是内置于PDF格式的。Acrobat版本5和6也支持SVG标准。最小化字体

如何使用字体,特别是在较小的PDF中,会对文件大小产生重大影响。尽量减少您在文档中使用的字体数量,以尽量减少它们对文件大小的影响。每一个额外的完全嵌入字体都可以很容易地占用40K的文件大小,这就是为什么大多数作者创建的“子设置”字体只包括实际使用的字形。扁平脂肪形态

Acrobat表单可以在PDF中占据很大的空间。新的Acrobat8Pro,您可以在高级-> PDF优化器->丢弃对象对话框中的表单字段。扁平化表单使表单字段不可用,表单数据与页面合并。您也可以使用来自Apago的PDF增强器,通过删除文件中的信息,将表单减少50%,但实际上从未使用过。你也可以将一个折叠式PDF和旧的表单页面结合起来,在Acrobat中创建一个混合PDF (参见下面的“create”部分)。

请参阅文章

票数 9
EN

Stack Overflow用户

发布于 2009-06-04 06:58:19

从PDF规范版本1.5有两种新的压缩方法,对象流和交叉参考流。

您可以提到,Multivalent.jar压缩工具压缩了交叉引用表。这通常意味着交叉引用表被转换成流,然后被压缩。

此交叉引用流的格式不是固定的。您可以更改数据的三个“列”的位大小。使用预测函数对流数据进行预处理也是可能的,这将提高数据的压缩级别。如果您使用文本编辑器查看PDF内部,您可能会在交叉引用流字典中找到/Predictor条目,以检查您使用的工具是否利用了此功能。

在压缩上使用预测器也可以方便地处理图像。

提供的第二种压缩类型是使用对象流。

通常在PDF中,您有许多类似的对象。现在可以将它们合并到一个对象中,然后进行压缩。这个多价压缩工具的文档提到使用了对象流,但对于将哪些对象组合在一起的实际选择没有太多的详细信息。如果将相似的对象组合到一个对象流中,则压缩效果会更好。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/819180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档