我有一个输入 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 的想法吗?