黑白手绘插图,奶油色背景:左上一份厚重的 PDF 文档,中间是标着 pdfoptim 的齿轮,右下一份明显变薄的 PDF,三者由一条粗黑色弧线箭头串联
PDF 压缩 macOS pdfoptim Rust Zipic

Mac 批量压缩 PDF:Zipic 自研 pdfoptim Rust 引擎实战

2026-05-13 Zipic Team

Mac 批量压缩 PDF,不必上传到 Adobe 云。深入 Zipic 自研 pdfoptim Rust 引擎,以及它和 Ghostscript 的实测对比。

在 Mac 上批量压缩 PDF,你大概这四种方案都试过:Adobe Acrobat 要把文件上传到云端;预览的「缩减文件大小」滤镜是个不可调的固定预设,扫描件常常压成糊一片;在线压缩站能压到位,但合同、设计稿就这么上了别人的服务器;Ghostscript 装出来 100 MB 起步,参数还得查文档。

Zipic 走的是另一条路。我们自己写了一个 PDF 压缩引擎,叫 pdfoptim,纯 Rust 实现。把 PDF(或者一整个文件夹)拖进 Zipic,选一个压缩等级,剩下的都在本地完成。不上传云端,不用下载额外依赖,也不需要调任何参数。

哪些场景真的需要批量压缩 PDF

几个常见的:

  • 设计师交付审核稿——原 PDF 80 MB,邮件发不出去;微信传输也超限。
  • 财务/行政打包月报、季报——十几二十份 PDF 加起来一两百兆,发给老板或客户都不顺手。
  • 扫描合同、发票归档——每份 20–50 MB,半年下来云盘空间见底。
  • 老师/培训师发讲义和试卷——单份得卡在学校/企业邮箱附件上限内。

这些场景的共同点都是:批量、有体积限制(邮件附件、上传、云盘配额)、不能让文件没法看。

PDF 为什么动辄几十兆

三个原因:图像按原 DPI 直接嵌入、整套字体被塞进文件、结构流写得很潦草。三件事叠加,普通业务 PDF 落到 20–100 MB 太正常了——超过 Gmail 25 MB、Outlook 20 MB、QQ 邮箱普通用户 50 MB 的附件上限,浏览器预览也卡。

pdfoptim 这三件事都管:图像降采样并重新编码、字体只保留文档真正用到的字形、PDF 结构用现代格式重写。整个过程都在你 Mac 上的 Zipic 进程里完成。

PDF 压缩在 Zipic 上的三次演进

两年时间,三步走:

  • Zipic 1.8.3(2025 年 11 月) —— 首次支持 PDF 压缩,用的是 macOS 自带的 Quartz filter。能压,但压缩率有限、画质也不太可控。
  • Zipic 1.9.0(2026 年 3 月) —— 换用 Ghostscript,压缩效果立刻上了一个台阶。但 Ghostscript 是个 可选的外部依赖,并没有打进 Zipic 安装包,用户第一次压 PDF 的时候,要先下一个 30 MB 左右的依赖。
  • Zipic 1.9.3(2026 年 4 月) —— 自研的 pdfoptim 替换掉 Ghostscript。不再需要额外下载,装好 Zipic 立刻就能用。

这一步是本文的重点:把 PDF 压缩做成和 Zipic 其他格式一样——拖进去,出来更小的文件。

pdfoptim vs Ghostscript:我们的内部测试结果

「我们自研了引擎」这句话,只在数字撑得住的时候才有意义。下面这组数据来自六份真实 PDF 样本,覆盖纯文本合同、中英混排、照片密集、扫描表单等场景,pdfoptim 和 Ghostscript 10.x 跑在同一压缩档位下做对照:

样本原文件pdfoptimGhostscript
纯文本合同197 KB119 KB(−39.6%122 KB(−38.1%)
中英混排带少量图605 KB436 KB(−27.9%)386 KB(−36.1%
照片密集报告32.2 MB27.3 MB(−15.4%)27.1 MB(−15.9%)
扫描表单2.1 MB860 KB(−60.2%956 KB(−55.7%)
图像为主的幻灯片19.6 MB10.0 MB(−48.7%10.2 MB(−47.8%)
摄影画册81.7 MB20.2 MB(−75.3%20.9 MB(−74.5%)

六份样本平均下来,pdfoptim 44.5%、Ghostscript 44.7%,实质打平,pdfoptim 在四份样本上略胜。我们想说的不是 pdfoptim 比 Ghostscript 强很多,而是:一个直接打包进 Zipic、不用额外下载、不暴露任何参数的 Rust 引擎,跑到了和 Ghostscript 三十年积累相当的压缩比。

Ghostscript 唯一明显胜出的是中文为主的样本——多页共享 CJK 字体时的子集化是当前瓶颈,已经在下一次 Zipic 更新的优化计划里。

怎么用

流程和 Zipic 其他格式一样:先配置预设,再拖文件,没有单独的「PDF 模式」,也没有「开始」按钮。

Zipic 主窗口:把 PDF 文件拖进来开始 Mac 批量压缩

点主窗口左下角的「压缩设置」,把压缩等级调到合适位置就行:

Zipic 压缩设置面板:压缩等级与保存格式选项

不同等级对应的大致压缩效果(同一份 PDF 在不同等级下的体积变化):

等级适合场景大致省下
1送印刷厂的合同、原画质归档5–15%
2–3邮件分发、日常打印、网络发布40–60%
4–5聊天附件、网页预览、手机阅读60–80%
6极限压缩,画质会有明显损失70–85%

具体能省多少取决于 PDF 里图像和字体的占比:图像越多、压缩越显著;纯文本 PDF 本身就不大,可压缩空间有限。

单份或一整个文件夹都能拖。批处理并行——10 份一起跑,总时长大约等于其中最大那份单独跑的时长。

批量压缩前几个小提示:

  • 保存位置选「同级目录」,不要直接覆盖原文件。万一某份压坏了,原文件还在。
  • 图片和 PDF 混在同一个文件夹也能拖——Zipic 会自动按格式分发:PDF 走 pdfoptim、JPEG 走 zipic-jpeg、PNG 走 pngoptim,互不干扰。
  • 某份 PDF 没动静?多半是加密了,或者已经被极限压过一轮——见后面「pdfoptim 不处理的情况」。

想自动化?Zipic 给图像用的那几条入口对 PDF 同样适用:文件夹监控快捷指令URL Schemezipic://compress?url=<路径>&level=3&format=original)。

为什么只暴露一个强度选项

你可能注意到 Zipic 没有 DPI、JPEG 质量、字体子集这些参数。这是我们做产品的方式。每一份 PDF 都不一样,要在 DPI、JPEG 质量、字体策略之间挑出最合适的组合,需要经验——也不是普通用户该花精力去琢磨的事。所以我们只留压缩强度这一个选项,剩下的让引擎自己挑。复杂度留给软件自己处理,不留给你。

pdfoptim 不处理的情况

  • 加密 PDF。 Zipic 会自动识别,弹一个友好提示,不会悄悄换一套加密重新写回去。先在预览里用「文件 → 导出 → 不设密码」解开,再拖进来。
  • 需要 OCR 的扫描件。 pdfoptim 不做 OCR。要让扫描 PDF 变成可搜索的,先用预览的标注工具或 macOS 26 自带的 OCR 走一遍,再压缩。
  • 已经压过一轮的 PDF。 被 pdfoptim 或调好参数的 Ghostscript 处理过的 PDF,再压一次通常只剩 0–5% 空间。

FAQ

压缩后的 PDF 还能编辑、搜索、打印吗? 能。pdfoptim 只动图像、字体和文件结构,不会改文本层、注释、表单字段、书签、超链接。压完的 PDF 在 Preview、Adobe Reader、WPS、Word 里都能照常打开,文字能复制、能搜索、表单也能填。打印效果取决于等级:2–3 级在 A4 上看不出区别,4–5 级放大照片细节才能看出有损失。

Zipic 会把我的 PDF 上传到哪里吗? 不会。pdfoptim 全程在你 Mac 上的 Zipic 进程里跑,没有任何字节离开机器。

为什么 PDF 压缩是 Pro 功能? PDF 压缩是 Zipic 工程量最重的格式。Pro 定价支撑的就是我们自研的几个引擎——pdfoptim、zipic-jpeg、pngoptim、gifoptim、svgo-swift。

pdfoptim 怎么处理中文字体? 中文字体通常是 Type0/CID 复合字体,背后挂一个或多个 CFF / TrueType 字体。pdfoptim 把后备字体子集化到内容流真正用到的字形。中文 PDF 因此往往省得最多——一份没子集化的中文字体里,没用上的字形多到离谱。

为什么有的 PDF 压完体积没怎么变? 两种常见情况:一是 PDF 本身就是纯文本或矢量图,原文件已经很紧凑;二是这份 PDF 之前被压过一轮,能压的都压了。前者属于 PDF 本身就够小,后者属于已经到极限。

相关阅读

试试 Zipic

如果你还在把 PDF 上传到陌生人的服务器只为省那 5 MB,停下来。下载 Zipic,等级调到 2–3,拖一整个 PDF 文件夹进主窗口,pdfoptim 接管剩下的事——本地、几秒钟。PDF 压缩是 Pro 功能,下载即享 7 天完整 Pro 体验。价格看 定价页

相关阅读