指南··7 分钟阅读

PDF 太大发不出去邮件?这些办法才真的有用

附件大小限制比多数人以为的更小,而多数"压缩 PDF"的建议会悄悄毁掉文字层。本文讲清楚 PDF 为什么大、哪种文档该用哪种办法、以及每种办法的代价。

你把文件加进附件、点发送,邮件被退回:附件过大。搜索结果第一条告诉你"在线压缩 PDF"。 你照做了,文件确实小了,三周后有人问你:为什么你发来的合同搜不了字?

让 PDF 变小其实有好几种本质不同的办法,它们并不能互相替代。这篇文章讲清楚你到底撞上了什么限制、 文件为什么会这么大、以及哪种文档该用哪种办法。

你撞上的到底是什么限制

邮件服务商宣传的附件上限听起来很宽裕,实际生效的却更小,因为附件在传输时会被 base64 编码—— 体积因此膨胀约 33%。标称 20 MB 的上限,意味着原始文件的真实天花板接近 15 MB。

  • Gmail 和 Outlook.com:标称 25 MB,按实际文件约 18 MB 来规划。
  • Microsoft 365 / Exchange:常见 25 MB,但管理员经常调低到 10 MB。
  • 企业网关和政府门户:10 MB 很常见,5 MB 也不稀奇。
  • 收件方的限制同样生效——你 24 MB 的附件发得出去,却会在对方那头被拒收。

如果不清楚对方的配置,就把目标定在 10 MB 以内。这个体积几乎能穿过所有邮件系统,不需要额外沟通。

你的 PDF 为什么这么大

选办法之前,先判断你手上是哪一类文件。这个区分决定了后面的一切。

  • 扫描件。每一页都是一张照片。 30 页、300 DPI 的彩色扫描轻松就到 50 MB。这是最常见的原因,也是最好压的。
  • 带图的幻灯片或报告。文字是矢量、占不了多少,几张满版照片吃掉了几乎全部字节。
  • 从文字处理软件导出的纯文本。通常本来就很小。这类文件如果很大,原因几乎总是嵌入字体或文档特别长,而不是图像数据。
  • 几百页的长文档。没有哪一页特别重,只是页数实在多。

办法一:少发几页

这是大家都会跳过的选项,但它常常才是对的那个。如果对方需要的是第 4 到 9 条, 把整份 200 页的主协议发过去并不叫慷慨——那是一个 40 MB 的附件,对方的体验也更差。

提取页把你选的页面汇集成一个新文档。它是无损的:保留下来的页面以完全保真的方式复制, 文字依然可选中、可搜索。删除页则是从另一个方向做同一件事,当"要去掉什么"更好描述时用它。

办法二:压缩,但要明白代价

对扫描件和图片密集的材料,压缩是对的答案。值得知道的是,多数浏览器端压缩器—— 包括我们的—— 实际做的是什么:把每一页按选定分辨率渲染成图片,再把这些图片打包成新的 PDF。

这正是它对扫描件效果那么稳定的原因,也正是结果有一个重大限制的原因:输出的页面是图片。 如果输入原本有真实的文字层,那一层就没了。收件人搜不了、复制不了,屏幕阅读器也读不出来。

对扫描件来说你什么也没损失——没做过 OCR 的扫描件本来就没有文字层。 但对一份从 Word 导出的合同来说,你悄悄把文档降级了。

分辨率参考(DPI):72 是缩略级下限,屏幕上仍然认得出;108 左右是屏幕阅读的合理默认; 144 适合可能要打印或在高密度屏上看的场合。低于 72 DPI,正文就开始崩了。

办法三:在 PDF 生成之前就处理图片

如果文档是你自己做的,最划算的节省发生在导出之前。一张 1200 万像素的手机照片扔进报告里, 像素量大约是整页印刷所需的四十倍。先把图片过一遍图片调整大小图片压缩, 得到的文档既小、又保留了真实的文字层——这正是页面级压缩给不了你的结果。

办法四:干脆不用附件

共享存储的链接没有体积上限,能穿过对方的邮件网关,事后还能撤销访问。 代价是文件从此住在某个服务上,访问控制变成了你要管理的事。 对真正机密的东西,直接发一个更小的附件往往是更稳妥的选择。

一张速查表

  • 扫描的纸质材料:按 108 DPI 压缩。本来就没有的东西不会被弄丢。
  • 长文档、对方只要其中一部分:提取相关页面。无损,而且对方更好用。
  • 你正在做的报告或材料:导出前先把图片缩小。
  • 必须保持可搜索的合同或呈报文件:不要压缩。少发几页,或者发链接。
  • 本来就小的文本 PDF 却莫名很大:压缩只会让它更大。去查嵌入字体。

一个值得保持的习惯

不管你用哪种办法,都请留着原件。上面除了提取页之外的每一种都不可逆: 栅格化后的页面救不回文字层,JPEG 压缩丢掉的细节也回不来。压副本、发副本、存原件。

另外也想一想压缩这件事发生在哪里。大到能把邮件顶回来的文档,往往恰恰是那种—— 已签合同、病历、护照扫描件——你最不愿意为了把它变小而上传到某个免费服务的文档。 本文中链接的每一个工具都完全在你的浏览器内运行:文件不会被传输到任何地方。

延伸阅读

继续阅读