OCRmyPDF 压缩扫描 PDF 指南:300MB 扫描件压到 30MB OCRmyPDF 压缩扫描 PDF 指南300MB 扫描件压到 30MB【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF扫描一批合同单个 PDF 300MB邮件根本发不出去。OCRmyPDF 在给扫描件加 OCR 文本层可被搜索的文字层的同时压缩文件一条命令把搜不到和太大两个问题一起解决。先跑通一条命令最简用法一行就够ocrmypdf -O2 input.pdf output.pdf-O2 是优化等级 2 的简写开启有损压缩。一份 20 页、200MB 的彩色扫描件跑完输出通常在 30~50MB纯黑白文档配合 JBIG2 能压到 10MB 量级。为什么先跑通这一条就够压缩是 OCR 流程的内置环节不是事后补丁命令能跑通说明 Tesseract、Ghostscript 整条依赖链都齐了。输出文件除了更小还带着可搜索的文本层这是纯压缩工具给不了的。参数调优是能跑之后的事先把链路验证掉。压缩背后的原理白话版JPEG 按新质量重压把 PDF 里每张 JPEG 图像抠出来按目标质量重新编码后塞回去。这一步由 transcode_jpegs 执行见 optimize.py质量目标由 --jpeg-quality 控制、默认 75重压后反而变大的图会被直接放弃只减不增是单张维度的硬规则。黑白图换 JBIG2黑白文档的图像整块换成 JBIG2——一种专为二值图像设计的编码对扫描件的压缩率远高于 JPEG是黑白文档里收益最大的一步。它是 -O1 就开始做的无损动作前提是系统装了 jbig2enc 编码器没装则静默跳过。PNG 做颜色量化彩色 PNG 用 pngquant 量化调色板把颜色种类砍掉一大半体积大降而肉眼基本无感。只有 -O2 及以上启用--png-quality 默认 70O3 下自动降到 30。参数怎么选按场景给方案场景推荐参数预期效果日常办公发送-O2质量接近原图体积减半以上在线分享-O3体积最小画质有损但可读批量归档-O1无损压缩存档不发虚三个等级是包含关系-O3 包含 -O2、-O2 包含 -O1 的全部动作所以拿不准就先 -O2跑完看一眼输出再决定要不要更狠。两个细节值得知道-O3 会自动把 JPEG 质量目标降到 40、PNG 降到 30压得最狠线性化把资源按阅读顺序重排让浏览器更快显示默认始终生效代价是体积略增。想精细控制时显式指定质量ocrmypdf -O2 --jpeg-quality 80 input.pdf output.pdf如果压完还嫌大下一档是往下调 --jpeg-quality而不是再升 -O 等级——等级管开关质量参数管深浅。容易踩的坑输出比输入还大 → OCR 要嵌入文本层文件本来就加体积优化环节若变大会被自动弃用 → 看最终文件即可别指望只减不增。黑白文档没变小 → 系统没装 jbig2encJBIG2 转换被静默跳过 → 先装编码器再跑。文字发虚、出现色块 → -O3 默认质量目标太低重要文档别拉满 → 退回 -O2 并显式给 --jpeg-quality 80。想用优化降分辨率 → 优化只动压缩算法不动图像尺寸 → 降采样用 --max-image-dpi与压缩是两回事。它还能做什么点到为止OCRmyPDF 还能输出 PDF/A 存档格式、批量处理整个目录、在 OCR 前做去底去倾斜等预处理压缩只是它顺手完成的一环批量归档时这些能力会一起派上用场。延伸阅读官方优化文档 与 优化模块源码。300MB 的合同现在 30MB 就能进邮件附件还能被全文搜索。参数不用死记默认值就能用剩下的是按场景挑一个 -O 等级的事。【免费下载链接】OCRmyPDFOCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched项目地址: https://gitcode.com/GitHub_Trending/oc/OCRmyPDF创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考