夜雨聆风学习资料网

ARTICLE · 1026529

PDF 太大传不上去? 这个免费开源工具,17MB 压到 1MB

PDF 太大传不上去? 这个免费开源工具,17MB 压到 1MB

效率工具 · 实测系列 006

PDF 太大传不上去?这个免费开源工具,17MB 压到 1MB

"上传失败:文件大小超出限制,请压缩后重新上传。"

这句话,每个上班族都见过。投标平台限 10MB、邮箱附件限 20MB、报销系统连 5MB 都嫌大——而扫描出来的 PDF,随便一叠就是十几二十兆。

为什么这么大?因为扫描件本质是照片:一页 A4 按 200dpi 存成图片就是 1MB 左右,20 页就是 17MB。文字版 PDF 只有几百 KB,扫描件是它的几十倍。

今天介绍的工具就是干这个的,而且效果相当暴力:同一份 17.3MB 的扫描件,最低能压到 1.0MB,全程本地运行,文件不用上传给任何网站。

一、它是谁:30 多岁的开源老将 Ghostscript

Ghostscript,1988 年发布,到今天已经迭代了 30 多年,由 Artifex 公司维护,开源免费(AGPL 协议)。

你大概率没听说过它,但你的打印机、复印机、单位的文档系统,底层十有八九跑着它的代码——它是 PostScript 和 PDF 的"解释器",市面上大量 PDF 工具的压缩内核用的也是它。

官网 ghostscript.com,有现成的 Windows 安装包(约 65MB),一路下一步即可。没有账号体系、没有广告、没有"每日免费 3 次"的套路。

二、为什么推荐它

第一,文件不出你的电脑。压缩 PDF 这事,网上全是"在线压缩网站",传上去、压完、再下载。标书、合同、发票扫描件这种东西,我是不太愿意传给陌生服务器的。Ghostscript 全程本地运行,断网都能用。

第二,效果是"预设级"的。不用研究参数,三档预设选一个就行,一行命令搞定。

第三,顺手能干别的。同一个工具还能把 PDF 转成图片、合并多个 PDF、把彩色扫描件转成黑白的——都是一行命令的事。

三、三步上手

第一步,安装。ghostscript.com 下载 Windows 版安装包,一路下一步。

第二步,选一个命令。装完后按 Win+R 输入 cmd,回车,然后(把路径换成你自己的):

gswin64c -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -o 输出.pdf 标书.pdf

第三步(推荐),做成拖拽脚本。命令行用不惯?把下面这段存成 PDF压缩.bat(记事本粘贴,另存为时编码选 ANSI,文件类型选"所有文件"),以后把 PDF 拖到它图标上就行,支持一次拖多个:

@echo off chcp 936 >nul setlocal rem 档位:/screen 最小最糊  /ebook 屏幕阅读(默认)  /printer 保真 set "PRESET=/ebook" set "GS=" for %%G in (   "C:\Program Files\gs\gs*\bin\gswin64c.exe"   "C:\Program Files (x86)\gs\gs*\bin\gswin64c.exe"   "%LOCALAPPDATA%\Programs\gs\gs*\bin\gswin64c.exe"   "%~dp0gs\gs*\bin\gswin64c.exe" ) do if not defined GS if exist %%G set "GS=%%~fG" if not defined GS (   echo [错误] 没找到 gswin64c.exe,请先安装 Ghostscript,   echo 或把路径填到本文件的 GS= 后面。   pause & exit /b ) :loop if "%~1"=="" goto done echo 正在压缩:%~nx1 "%GS%" -sDEVICE=pdfwrite -dCompatibilityLevel=1.7 -dPDFSETTINGS=%PRESET% -dNOPAUSE -dQUIET -dBATCH -sOutputFile="%~dpn1-压缩版.pdf" "%~1" if errorlevel 1 (echo    ^> 失败:%~nx1) else (echo    ^> 完成:%~n1-压缩版.pdf) shift goto loop :done echo 全部处理完成。 pause

脚本会自动去 Ghostscript 的默认安装位置找程序,找不到再提示你手填路径;生成的文件叫"原文件名-压缩版.pdf",原件一个字节都不会动

四、实测:三档预设差多少

我在 Windows 11 办公机上做了实测(Ghostscript 10.08.0 官方版)。测试文件是按"手机扫描件"标准生成的演示文件:20 页 A4、200dpi、17.3MB——不是拿真实标书测的,但扫描件参数一致,结论方向一样。

预设
输出体积
占原文件
画质
/screen
1.01 MB
5.8%
内嵌图降到 72dpi,字迹发虚,屏幕快速浏览够用
/ebook
6.60 MB
38.2%
保持 200dpi,只重新压缩了图片,屏幕阅读几乎无差别
/printer
17.29 MB
100%
目标 300dpi,比原图还高,等于不压缩

20 页文件压一次约 19 秒。看到 /printer 没变别奇怪:预设的本质是"目标分辨率",你原图只有 200dpi,它不会往下降。扫描件想变小,就用 /screen 或 /ebook。

五、进阶玩法

🔹 想压得更狠:把 /ebook 换成 /screen;还不够就再加参数 -dColorImageResolution=100,把图片分辨率手动钉在 100dpi。🔹 彩色扫描件转灰度:命令里加上 -sColorConversionStrategy=Gray,黑白文档体积还能再砍一刀。🔹 批量压整个文件夹:在放 PDF 的文件夹里新建子文件夹"压缩",地址栏输 cmd 回车,执行 for %f in (*.pdf) do gswin64c -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook -o "压缩\%f" "%f"(写进 .bat 时 % 要写成 %%)。🔹 PDF 转图片:-sDEVICE=png16m -r150 -o 第%02d页.png 标书.pdf。

三个常见问题

压完字看不清怎么办?说明档位压狠了。/screen 只有 72dpi,发微信扫一眼够用,正式场合换 /ebook;还不能接受就用 /printer——它基本只做"无损整理",不牺牲画质。

文字版 PDF 能压吗?能压但没意义。纯文字的 PDF 本来就几百 KB,大文件基本都是扫描件/图片惹的祸,先看清楚你的 PDF 是哪种。

会不会丢东西?压缩等于"重新生成一份 PDF",书签、注释这类附属信息可能丢;带电子签章、表单的文件压完务必打开检查,重要的保留原件。另外它处理不了加密文件,先解密再压。

写在最后

传不上去的那份 PDF,现在就去压一下:装好 Ghostscript,存好脚本,拖进去,20 秒。顺手把常用的那几个平台的体积限制记在便签上,下次导出扫描件前先想想该压到哪一档。

如果你的 17MB 压完只剩 1MB,评论区报个数——顺便说说你是从哪个平台的"文件过大"提示过来的。


实测环境:Windows 11 x64 · Ghostscript 10.08.0(官方版,ghostscript.com)测试文件为 20 页 A4 / 200dpi / 17.3MB 模拟扫描件;单次实测,不同文件倍率不同,方向不会错

关注我每周分享一个我亲自用过、还在持续用的效率工具

相关学习资料

返回首页浏览学习资料