
别人发来一份 38 页的 PDF,扫描件,双面印歪了,其中三页是横的,还带一个不知道谁加的密码。你要做的是:转正、拆页、重新排、压到能发邮件的大小。这四个动作分别落在 PDF 的四个不同层上,一个工具通吃不了。
打开哪个软件,取决于你想让谁干活。这四个工具没有优劣,只有分工:越靠前的越不碰排版,越靠后的越不碰结构。
一、四个工具各自管什么
qpdf 是纯粹的 PDF 结构工具,它理解对象、交叉引用表、加密字典,不理解「页面内容」;mutool 是 MuPDF 的命令行前端,能提取、能清理、能把页面当图重绘;Stirling-PDF 是一个可以自己部署的网页工具集,把常见的批量操作做成按钮;PDF Arranger 是图形界面,专门干页序和拼接这种需要眼睛的活。四个工具的分界线不是功能,是它们各自能改动的层级。
先用 qpdf 把文件修成一个结构干净的东西,再用别的工具处理内容,顺序反了会反复出问题。很多「压缩后打不开」「合并后页码错乱」的根因,是源文件本身结构就有毛病。
| 工具 | 交互方式 | 最强的一项 | 明显做不到 | 适合谁 |
|---|---|---|---|---|
| qpdf 11.9 | 命令行 | 解密、线性化、修损坏结构 | 不动页面内容 | 要写脚本批处理的人 |
| mutool 1.24 | 命令行 | 清理重写、提取文字与图 | 交互式调页序 | 要修扫描件的人 |
| Stirling-PDF | 自建网页 | 批量转换与拆分合并 | 精细调版式 | 团队里非技术同事 |
| PDF Arranger 1.11 | 桌面 GUI | 拖拽排页、跨文件拼接 | 加密与结构修复 | 一次性整理的人 |
二、qpdf:先修结构,再谈别的
收到一份带权限密码的文件,第一件事不是找破解工具,是分清它属于哪种密码。只限制打印和复制的,叫权限密码,qpdf 一条命令就能去掉;打开就要输密码的,叫打开密码,那必须知道密码,没有捷径。分清这两种密码,能省掉一次没有意义的搜索。
qpdf --decrypt --password=已知密码 in.pdf out.pdf
qpdf --check in.pdf
qpdf --linearize in.pdf web.pdf
–check 的输出值得逐行看:它会把「文件尾部有垃圾数据」「交叉引用表偏移错误」这类问题直接指出来。多数「某些阅读器能开、某些打不开」的 PDF,问题都在这一层,跟内容无关。
–linearize 是给网页用的,它把文件重排成第一页可以先下载先显示的顺序。代价是文件会略大一点。如果你的 PDF 要放在网站上让人直接点开看,这一步的收益比压缩图片更直接。
三、mutool:把一页扫描件救回来
扫描件的常见病是:页面被转成了图,图上还带着倾斜、灰底、压缩噪点,文字层是 OCR 加的,位置飘。mutool clean 能把整个文件重写成一份干净版本,去掉孤立对象和无用资源;mutool convert 能把页面重绘成新的 PDF,顺手把图像重新编码。这两条命令修的是文件结构,不是画面内容。
mutool clean -gggg -z in.pdf clean.pdf
mutool convert -o small.pdf -O compress,compress-images in.pdf
mutool draw -o page-%03d.png -r 200 in.pdf
-gggg 是四个级别的对象压缩与垃圾回收,-z 压缩流。合起来常能把一个 40 MB 的扫描件压到 8 MB 上下,肉眼几乎看不出差别。但如果原件的图已经是低质量 JPEG,再压只会更糊,这时候该做的是重扫,不是压。
mutool draw 把页面导成 PNG,是给 OCR 用的。200 dpi 对中文正文够用,150 dpi 会开始丢笔画,300 dpi 以上对 OCR 的提升很有限,只是让文件更大。分辨率的收益在 200 到 300 之间就基本到顶了。
四、Stirling-PDF:把批量活交给一个网页
它的价值不在功能多,在于把「拆分、合并、转图、加水印、去空白页」这些操作变成不需要记参数的表单。它的定位是替不记命令的人挡住参数,不是替懂命令的人做判断。用 Docker 起一个,局域网内谁都能用:
docker run -d --name stirling-pdf -p 8080:8080 \
-v ./data:/configs -v ./logs:/logs \
stirlingtools/stirling-pdf:latest
适合的场景是重复:每周把二十份供应商对账单合并成一份、统一加水印、按页数拆成两份。这类活手工做一次是十分钟,做二十次就是三个小时,而这个工具的价值就是把第二个小时省掉。
不适合的场景是精细:它不会帮你把一页里歪了 1.5 度的表格摆正,也不会替你判断哪一页该删。它能做的是把确定的操作批量执行,不是替你判断。
五、PDF Arranger:需要眼睛的那部分
页序这种事,命令行也能做,但你会花更多时间确认结果。PDF Arranger 把每一页缩略图铺开,拖一下就换位置,选中几页按删除,从另一个文件拖进来就完成拼接。这类操作的瓶颈从来不是软件能力,是你要看一眼才知道对不对。
它还有一个常被忽略的功能:裁剪。扫描件四周有黑边时,选中全部页面统一裁一次,比逐页处理快得多。裁剪改的是页面的显示框,不删内容,所以事后还能改回来,这一点比重新导出安全。
六、三套组合,按任务分
- 单份文件急救:qpdf –check 找结构问题 → qpdf –decrypt 去权限密码 → mutool clean 重写 → 打开确认页数与书签未丢。全程四条命令,五分钟内。
- 扫描件整理成册:mutool draw 导图 → OCR 工具识别 → mutool convert 重组成 PDF → PDF Arranger 调页序、裁黑边 → qpdf –linearize 输出网页版。
- 团队日常批处理:Stirling-PDF 起在局域网,把合并、拆分、加水印做成固定表单,让不装软件的人自己提交,你只维护那一个容器。
三套组合的共性是同一条顺序:先结构、再内容、最后版式。反过来做的人,通常会在第三步发现前两步白干了。
七、三种「选错了」的信号
第一种信号:你在用截图工具处理 PDF。把页面截成图再拼回去,文字层就没了,搜索、复制、无障碍全部失效。需要图的时候用 mutool draw,需要页的时候用 PDF Arranger,不要用截图。
第二种信号:你在为一份文件装第五个软件。装到第三个还没解决问题,通常不是工具不够,是源文件坏了。先跑一次 qpdf –check,再决定要不要继续找工具。
第三种信号:你在命令行里反复调一个可视化参数。页边距、水印位置、页序这种需要看的活,交给 GUI 会比在参数里试快一个数量级。能用眼睛判断的事,不要用参数猜。
写在最后
PDF 这个格式被设计成「在哪台机器上都长得一样」,代价是它把内容和版式焊死在一起,任何改动都得在结构层动刀。所以处理 PDF 的工具,天生就是分层的:有人管对象,有人管像素,有人管页面顺序。这不是设计缺陷,是格式的代价。
理解了这一层,选工具就不再是比功能多少,而是问一句:我现在要动的是哪一层。多数人的时间不是花在操作上,是花在用错层的工具去解决另一层的问题。
你手上那份一直没整理的 PDF,卡在哪一步:页序、清晰度,还是打不开?

评论 (0)