OCRmyPDF 的优化器
OCRmyPDF 包含一个面向图像的 PDF 优化器。默认情况下,优化器以安全设置运行,目标是在不损失质量的前提下提升压缩率。在更高的优化级别中,可能会应用有损优化并进行调整。优化仅在 OCR 成功后运行。它不会执行其他可能的优化操作,例如资源去重、字体合并、简化矢量图形等。
优化级别 | 简写 | 说明 |
---|---|---|
--optimize 0 |
-O0 |
禁用大部分优化 |
--optimize 1 (默认) |
-O1 |
安全且无损的优化 |
--optimize 2 |
-O2 |
安全但有损的优化 |
--optimize 3 |
-O3 |
激进的有损优化 |
具体的优化类型会随着版本更新而变化,并依赖于第三方工具的可用性。
尽管进行了优化,OCRmyPDF 仍可能增加总体文件大小。因为它需要嵌入 OCR 识别的文本信息,且根据所选设置,可能无法像输入文件那样紧凑地表示输出文件。
始终执行的优化
OCRmyPDF 会自动将过时或低效的压缩方案(如 RLE 或 LZW)替换为更优方案(如 Deflate),并将单色图像转换为 CCITT G4 格式。由于这是无损操作,因此始终执行且无法禁用。其他非图像压缩对象也会被压缩。
快速网络预览
OCRmyPDF 会自动为 Adobe Acrobat 的”快速网络预览”功能优化 PDF,即通过线性化处理使 PDF 资源按顺序排列,便于流式加载。这会略微增加文件大小,但能显著降低在线或本地查看 PDF 时的延迟。
要禁用此优化及所有其他优化,请使用 ocrmypdf --optimize 0 ...
或简写 -O0
。
注意:Adobe Acrobat 可能不会将该文件显示为”快速网络预览”。
无损优化
在 -O1
(默认)优化级别下,OCRmyPDF 会尝试无损图像优化:
• 如果存在 JBIG2 编码器,单色图像将被转换为 JBIG2 格式。这对大型黑白图像可大幅节省空间(因为 JBIG2 效率远高于其他单色压缩方案)。注意:虽然 JBIG2 相关美国专利可能已过期,但用户需自行安装 jbig2enc,OCRmyPDF 不内置此编码器。
有损优化
在 -O2
和 -O3
级别下,OCRmyPDF 会尝试有损优化:
• 若安装 pngquant
,会通过色板量化压缩 PNG 类图像
• JPEG 图像质量可能被降低(基于”OCR 后低画质存储可接受”的假设)
注意:并非所有图像类型都可优化,罕见格式可能被跳过。
高级功能:有损 JBIG2 模式
OCRmyPDF 提供 有损模式 JBIG2 作为高级功能,需额外添加参数 --jbig2-lossy
。