PDF 优化
OCRmyPDF 包含一个面向图像的 PDF 优化器。默认情况下,优化器使用安全设置运行,旨在提高压缩率而不损失质量。在更高的优化级别下,可能会应用和调整有损优化。优化发生在 OCR 之后,并且仅在 OCR 成功时进行。它不执行其他可能的优化,例如资源去重、合并字体、简化矢量图或任何此类性质的操作。
优化级别 |
缩写 |
描述 |
---|---|---|
|
|
禁用大多数优化。 |
|
|
启用无损优化,例如将图像转码为更高效的格式。还压缩 PDF 中其他未压缩的对象,并启用 PDF 中更高效的“对象流”。(如果使用了 |
|
|
包含以上所有,并启用有损优化和颜色量化。 |
|
|
包含以上所有,并启用更激进的优化并目标更低的图像质量。 |
执行的具体优化类型会随时间变化,并取决于安装的第三方工具。
尽管进行了优化,OCRmyPDF 仍可能增加总体文件大小,因为它必须嵌入关于识别文本的信息,并且根据所选设置,可能无法像输入文件那样紧凑地表示输出文件。
始终进行的优化
OCRmyPDF 会自动将过时或低劣的压缩方案(如 RLE 或 LZW)替换为更高级的方案(如 Deflate),并将单色图像转换为 CCITT G4。由于这是无损的,它始终发生且无法禁用。其他非图像的压缩对象也会被压缩。
快速网页视图
OCRmyPDF 会自动优化 PDF 以实现 Adobe Acrobat 所称的“快速网页视图”,或者等同地,线性化 PDF,使其引用的资源按照查看器进行连续显示所需的顺序呈现。这可以减少在线和本地存储查看 PDF 的延迟,代价是文件大小略有增加。
要禁用此优化和所有其他优化,请使用 ocrmypdf --optimize 0 ...
或缩写 -O0
。
Adobe Acrobat 可能不会报告文件为“快速网页视图”。
无损优化
在优化级别 -O1
(默认) 下,OCRmyPDF 也会尝试无损图像优化。
如果 JBIG2 编码器可用,则单色图像将被转换为 JBIG2,这对于大型黑白图像有可能节省巨大的空间,因为 JBIG2 比其他任何单色(双层)压缩都高效得多。(所有已知与 JBIG2 相关的美国专利可能已经过期,但提供 JBIG2 编码器(如 jbig2enc)仍是用户的责任。OCRmyPDF 本身不实现 JBIG2 编码)。
OCRmyPDF 目前不尝试对无损压缩的对象进行更积极的重新压缩。
有损优化
在优化级别 -O1
、-O2
和 -O3
下,OCRmyPDF 会尝试进行一些有损图像优化。
如果使用 Ghostscript 创建 PDF/A(默认),Ghostscript 会通过将某些图像转换为 JPEG 来优化它们,这属于有损优化。如果使用 --output-type pdf
,则没有有损优化。Ghostscript 的 JPEG 转换非常安全。
如果安装了 pngquant
,OCRmyPDF 将使用它对调色板图像进行量化以减小其大小。
JPEG 的质量可能会降低,假设 OCR 后较低质量的图像可能适合存储。
无法优化所有图像类型。优化器可能会跳过不常见的图像类型。
OCRmyPDF 提供 有损 模式 JBIG2 <jbig2-lossy>
作为一项高级功能,它额外需要参数 --jbig2-lossy
。