PDF 压缩(扫描件优先)
文档所有处理都在浏览器本地完成,数据不上传服务器
把文件拖到这里,或点击选择
PDF · 单个文件不超过 100 MB
把 PDF 压小,代价必须说在前面:这个工具是把每一页重新渲染成 JPEG 再装回 PDF,所以文字会变成图片 —— 不可选中、不可搜索、放大是像素。它对扫描件(整页本来就是图片)是纯赚,对数字排版的 PDF(文字、矢量)则可能反而变大,那种情况工具会如实告诉你,而不是给你一个更大的文件。三个参数的作用:精度(DPI 减半,像素变四分之一,这是最有效的一档)、质量(JPEG 质量,70% 通常看不出差别)、灰度(黑白内容能再省一半)。想保住可选中文字就不要用这个工具 —— 那需要"只压内嵌图片"的无损路线,浏览器端做不可靠(改图流要动 PDF 对象表,出错时会产出打不开的文件)。
功能
- 逐页重新渲染为 JPEG,扫描件常能压掉 70%–90%
- 精度 150 / 120 / 100 / 72 DPI 可选
- JPEG 质量三档
- 可转灰度:白底黑字的文档能再省一半
- 可只压指定页(例如只压图片多的那几页)
- 页面物理尺寸保持不变 —— 压缩不该改变打印大小
- 压完反而更大时如实说明,并建议保留原文件
- 文件不上传、不经过任何服务器
使用方法
- 把 PDF 拖进来(扫描件效果最好)
- 选精度与质量;黑白文档可以勾灰度
- 下载结果,翻几页确认还能看清
- 如果是文字型 PDF 且压不小,就保留原文件
常见问题
- 为什么压缩之后文字不能选中了?
- 因为这个工具把每页重新渲染成了图片。文字从此是像素,不再有文字层 —— 这是"压得最狠"的代价。要保留可选中文字,就得走另一条路(只重新编码内嵌的大图,不动文字与矢量),而那需要替换 PDF 里的图片流、直接改对象表 —— pdf-lib 的公开 API 做不到,硬做出错时会产出打不开的文件,比压不小更糟。所以这里只提供一条可靠的路,并把代价写在明处。
- 压完之后反而变大了?
- 说明这份文档主要是文字与矢量图形,而不是扫描图。文字在 PDF 里只占几十 KB(是"指令"),重做成图片就变成几百 KB 的像素。这时正确做法是保留原文件 —— 那份 PDF 本身已经很小了(文字型 PDF 通常只有几百 KB,没什么可压的)。如果你的目标是"给手机看的小文件",可以调低到 72 DPI 再试,但文字会明显发虚。
- 能压到指定大小(比如 5 MB 以下)吗?
- 不能直接指定 —— 体积取决于页数与内容,只能靠调 DPI 与质量去逼近。经验值:一页 A4 扫描件在 120 DPI + 70% 质量下约 100–200 KB,所以 40 页大约 4–8 MB。要更小就降到 100 DPI 或开灰度(黑白文档能到一半)。上传系统卡大小的时候,先转灰度往往一步就够。
- 文件会上传吗?
- 不会。渲染用 pdf.js、编码用 canvas、重新组装用 pdf-lib,全部在浏览器内存里完成,没有网络请求,断网也能用。
相关工具
PDF 转图片
文档把 PDF 的每一页渲染成图片,DPI 与格式可选(96 / 150 / 300)。补零命名保持页序,可只转指定页。文件不上传。
图片压缩
图像在线压缩图片,可以指定目标体积(如压到 200 KB 以下),工具用二分查找找出满足条件的最高质量。也支持按质量档与尺寸上限压缩。
PDF 信息
文档查看 PDF 的页数、每页尺寸与方向、是否加密、表单字段数以及标题作者等元数据。可导出文本或 JSON,文件不上传。
PDF 合并
文档把多个 PDF 按选择顺序合并成一个,也可以只取每个文件的指定页。可自定义输出文件名,合同与票据不上传,全程浏览器本地完成。
PDF 拆分
文档按页码范围提取页面,或每 N 页切成一个文件。产物文件名带页码范围,拆完直接发给别人也看得懂。不上传,浏览器本地完成。
图片转 PDF
文档把多张 JPEG、PNG 合成一份 PDF,每张图一页。页面可与图片同尺寸或固定 A4 等纸张,横竖方向自动。图片不上传,浏览器本地完成。