PDF 合并
我要提建议把多个 PDF 按指定顺序合成一个:可拖顺序、按文件名自然排序,页面尺寸与内容保持原样,全程本地。
相关工具
这个工具是做什么的
把几个 PDF 合成一个,关键只有一件事:页序对不对。所以这个工具把「顺序」做成最显眼的部分 —— 选完文件后列表里按顺序编号,用 ↑ ↓ 微调;如果是一堆扫描件(文件名里带页码),点一下「按文件名排序」就会按自然顺序排好:page2 会排在 page10 前面,而不是像字典那样反过来(这一点很多工具会做错,整本的页序就乱了)。合并的做法是把每个 PDF 的页面按顺序复制进一个新文件,所以页面尺寸、方向、图片与文字都保持原样,不会缩放也不会重新编码;每个文件的页数在读入时就显示出来,加密 PDF 或损坏文件会当场标红并说明原因,不会等到导出才失败。可以随时移除不想要的文件,也能清空重来。书签 / 目录(大纲)默认会保留:工具用 pdf.js 把每个来源的大纲读出来、按合并后的页码平移,再以低层对象写回结果文件(层级也会保留;来源没有书签就自然没有,开关可以关掉)。要说明的一点是——如果某个来源里的大纲条目指向的是链接、或页码解析不出来,那条会落在最后一页上,界面上会写清这一点。全程在本机用本地引擎完成:数据不出设备。
使用方法
- 一次选择多个 PDF;工具会立刻读出每个文件的页数与总页数。
- 用 ↑ ↓ 调整顺序(列表顺序就是最终页序);扫描件可以点「按文件名排序」。
- 点「合并 PDF」,完成后点「导出文件」保存。
常见问题
- 合并后画质会变差吗?
- 不会。合并是把每页原样复制进新文件(资源一起复制并重新编号),既没有重新编码图片,也没有改变页面尺寸。
- 原来 PDF 的书签 / 目录还在吗?
- 在(默认保留):工具会把每个来源的书签读出来、按合并后的页码平移后重新写进结果文件,层级也保留,界面上会显示「已写入 N 条书签」。pdf-lib 本身没有写大纲的 API,这部分是手工构造 /Outlines 对象树做的(已用 PyMuPDF 逐条复核过页码与层级)。如果某个来源的大纲条目是链接型(没有页码)或页码解析不出来,那条会落到最后一页 —— 这种情况工具会在结果里说明。
- 加密的 PDF 能合并吗?
- 不能 —— 需要密码的 PDF 本工具读不了,会在列表里明确标出是哪一个文件、为什么失败。请先用阅读器去掉密码再合并。
- 一次最多合并多少个?
- 50 个。合并要把所有页面同时放进内存,太多会吃光内存;超过上限会提示忽略多余部分,建议分册合并。
- 文件会上传吗?
- 不会。读取、复制页面、写出新 PDF 全部在本机用本地引擎完成,数据不出设备。