PDF 合并、拆分、加密与体积:一套能落地的处理顺序

先弄清 PDF 为什么大,再按「合并 → 拆分 → 压缩 → 加密 → 导出」的顺序动手。讲清合并时页序和书签的处理、拆分按页码还是按书签、加密的真实能力边界(不是所有 PDF 都能加密)、扫描件压缩为什么常压不动,以及什么时候该停下来说「别压了」。

约 8 分钟读完 · 更新于 2026-10-21 · 文中每条都能在下面的配套工具里动手验证

先弄清 PDF 为什么大:体积都花在三类东西上

PDF 不是一种固定结构,它更像一个容器。把体积拆开看,只有三个来源:图片(截图、扫描件、照片,通常占 70% 到 90%)、字体(嵌入完整字库的话,一个中文字体 5MB 起步,用得多的子集化能压到几百 KB)、以及内容流本身(排版指令、标注、表单数据,纯文字 PDF 通常只有几十到几百 KB)。搞清是哪一类占大头,才知道该动哪里:图片问题去降分辨率或转格式,字体问题去做子集化,内容流超标多半是嵌了一堆看不见的元数据和编辑器残留。拿 <a class="faq-link" href="/tools/pdf-toolbox/">PDF 工具箱</a> 导出后先用文件管理器看一眼构成,或者对比「原文件」与「导出后」的体积,能快速定位方向。

处理顺序:合并 → 拆分 → 压缩 → 加密 → 导出

顺序不是审美问题,是成本问题。先合并再拆分意味着同一份数据只解析一次;先压缩再合并,等于把每份文件都压一遍,多花几倍时间还多累积几次有损损失;先加密再压缩几乎必然失败,因为加密后的内容流已经不能被重写,压缩工具读不懂。唯一需要调整的是加密与导出的先后:如果最终还要在别的软件里二次编辑,就先别加密;确定交付了再加密码。

操作速查表:目的、关键参数与常见坑

操作目的关键参数最容易踩的坑
合并把多个 PDF 拼成一份页序、是否保留书签拖入顺序 ≠ 期望顺序;合并后书签全丢
拆分抽出需要的页面按页码区间或按大纲层级「导出为图片」和「拆成 PDF」不是一回事
压缩减小体积图片分辨率、DPI、质量档反复压缩同一份文件,画质不可逆地掉
加密限制打开或编辑权限打开口令、权限口令不是所有 PDF 都能加密(受限模式不支持)
转图片做预览或二次编辑DPI、格式DPI 太低导致文字发虚、放大模糊
加水印标注归属或草稿状态位置、透明度、密度压太实反而挡住正文,务必半透明

合并:先排页序,再谈书签

合并时最常见的失望是两件事:页序不对,以及书签没了。页序问题在拖入列表里解决——按文件名排序时「10」会排在「2」前面,用两位数或带序号的命名(01、02)能彻底避免。书签丢失的原因是各份文件的目录结构是独立的,合并时没有任何通用规则能猜出它们怎么接起来;正确做法是在源文件里先修好大纲,或者接受合并后没有书签,交付时另附一份目录说明。另一类实用技巧是「只合需要的页」:先拆分再合并,比合并后再删页面省时间,也避免了在成品里留下本不该出现的内容。

压缩:扫描件为什么常压不动

扫描件和照片型 PDF 占 PDF 体积的大头,但它们压不动的原因不是工具不行,而是内容已经接近不可再压:扫描本身已经把文字渲染成 300DPI 的点阵,JPEG 已经在这一步被有损压缩过一次,再压只是重复损伤。要真正减重,得回到「重新生成」而不是「重新压缩」——把页数少、画质要求不高的扫描件降 DPI 到 150、把里面的图片单独提取出来压到目标大小再塞回去,或者干脆把「文字型 PDF」转成「长图 PDF」,牺牲文字可选换来大幅减重。纯文字 PDF 几乎不用压,它的小体积来自字体子集化;真遇到几十 MB 的纯文字文件,去掉嵌字体通常一秒见效。

加密:先确认这份 PDF 能不能加密

加密常被误解为「给 PDF 上锁」,实际有两个独立维度:打开口令(没有它就打不开)和权限口令(能打开但不能打印、复制、编辑、批注)。两者不是一个开关,多数工具只提供其中一个。更关键的是前置条件:以受限模式打开的 PDF、被某些 DRM 系统签名的 PDF、以及某些第三方阅读器生成的文件,本身就不允许被改写或加密,工具会直接报错——这不是工具的问题,是文件内部的权限标志锁死了修改权限。遇到这种情况,唯一的办法是从源文件重新生成一份再去加密。用 <a class="faq-link" href="/tools/pdf-toolbox/">PDF 工具箱</a> 时把这两件事分清,能省掉一次「加了密码却还是能复制」的困惑。

命令行方案:qpdf 处理结构与权限,img2pdf 处理图片
# 合并(用 -- 前缀指定输入顺序,数字决定先后)
qpdf --empty --pages a.pdf 1-3 b.pdf 1 -- out.pdf

# 拆出指定页
qpdf a.pdf --pages a.pdf 2-4 -- out.pdf

# 线性化:让网页预览按页加载,体积略增但打开更快
qpdf --linearize out.pdf out-lin.pdf

# 加密:-user-pw 是打开口令,-owner-pw 是权限口令
qpdf --encrypt user_pwd owner_pw 128 -- out.pdf

# 纯文字 PDF 掉体积:解嵌字体(注意:换设备可能显示异常)
qpdf --font-embed=none --decode-level=all out.pdf out-nofont.pdf

# 图片型 PDF:先抽图压到目标大小,再无损重封装(质量远好于重压 PDF)
pdfimages -all in.pdf img
img2pdf --output-size=25 img-*.jpg -- > out.pdf
判断该走哪条路:一份决策表
体积大 + 纯文字 + 字体完整嵌入  →  字体子集化 / 解嵌(改动最小)
体积大 + 少量图片              →  抽图压到目标大小后重封装
体积大 + 整份扫描件            →  降 DPI 重新扫描,或转长图 PDF
需要保密分发                  →  合并/拆分完成后,最后一步加打开口令
需要禁止打印复制                →  权限口令,弱保护,别当作安全措施

什么时候该停止压缩

压缩的目标是「在可接受画质下尽量小」,不是「越小越好」。有几个信号说明该停:连续压两次之后体积几乎不再下降(说明已到信息熵极限)、正文小字开始发虚发毛边、线框图和表格线出现锯齿、或者文件要被拿去打印。这些场景里继续压只会换一个更糟的问题。反过来,如果文件只在网上传阅、没人放大看、且要过上传大小限制,那就该把「可接受画质」设成一个明确的 KB 目标,用 <a class="faq-link" href="/tools/image-kb/">压到指定大小</a>这类自动迭代的方式一次到位,比手动一点点降质量更快也更可控。

交付前最后一遍检查

  • 页数与页序对不对——对照源文件数一遍,合并类操作最容易在这里出岔子。
  • 敏感信息处理了没有:身份证、地址、签名、印章、内部编号,需要遮的打码,需要去的 EXIF 位置信息一并清掉。
  • 需要留底的原图和可搜索的成品是两份文件,别用压缩件当唯一存档。
  • 加密到位了没有:把文件发给自己另开一次,确认打不开或权限确实生效,而不是只看工具说「已加密」。
  • 打印类需求在 100% 比例下看一眼线框和表格线,这是压缩最容易毁掉的地方。

常见问题

PDF 合并后页序乱了,怎么快速理顺?

页序取决于文件的加入顺序,先在合并前把文件按目标顺序重命名,用两位数序号(01、02、03)而不是默认文件名,排序错乱的根因基本就消除了。合并后书签丢失是正常现象——各份文件的目录结构独立,没有通用规则能推断怎么接起来,需要书签的话要在源文件里先整理好,或者交付时另附一份目录说明。

PDF 为什么压了半天体积几乎没变?

先看它是哪一类:纯文字 PDF 的体积来自嵌入字体,一个中文字体 5MB 起,去做子集化或解嵌通常一秒见效;扫描件压不动是因为它已经是 300DPI 点阵加过一次 JPEG 压缩,属于接近不可再压的状态,这时候该降 DPI 重新生成或把图片抽出来压到目标大小再封装,而不是继续压 PDF。文件里如果嵌了大段编辑器元数据,也可以先清掉。

给 PDF 加了密码,为什么别人还是能复制内容?

因为打开口令和权限口令不是一回事。你加的如果只是权限口令,对方照样能打开文件,只是部分编辑被限制;要真正阻止打开需要设打开口令。另外 PDF 权限本质上只约束合规的阅读器,不阻止文本复制,属于防误操作级别而不是加密级别,需要真正保护内容就不要依赖这个。

扫描件 PDF 怎么才能压到上传限制以内?

别对 PDF 本身反复压。正确做法是把里面的扫描图抽出来,降到 150 到 200 DPI,压到目标 KB 再重新封装成 PDF,画质损失远小于直接压成品。如果这份文件不需要文字可选,直接转成整页长图 PDF 通常能再省一大截;如果需要全文可搜索,就把 OCR 后的文字层加上,同时把原始图换成低分辨率版本。

📂

松开以自动格式化

支持 .json / .sql / .csv / .html / .css / .xml / .yaml 文件