PDF 工具

合并 PDF 文件

把几个 PDF 合成一个文件:排好顺序,每个文件只取需要的页,然后下载。文件在你的设备上处理,不会上传到任何服务器。

把 PDF 文件拖到这里至少添加两个文件,之后还可以继续添加。

    全部在你的浏览器里运行,这里输入的内容不会上传。

    怎么合并

    1. 把 PDF 文件拖到上面的框里,或者点选择文件。每个文件会显示成一张卡片,上面有首页缩略图、文件大小和页数。
    2. 把文件排成你要的顺序:直接拖动卡片,或者用 ↑ 和 ↓ 按钮,键盘也能操作。
    3. 如果只要某个文件的一部分,就在它的页码框里填写:1-3, 5 表示第 1、2、3、5 页;4- 表示从第 4 页到最后;3-1 表示按 3、2、1 的顺序取这三页。留空就是全部页。中文逗号和顿号也能识别。
    4. 点合并 PDF。合并后的文件会以 merged.pdf 的名字下载,页面上同时显示总页数和文件大小。

    如果某个文件用不了,比如加了密、已经损坏,或者其实不是 PDF,它的卡片会变红并写明原因。在移除它之前,合并按钮会一直保持不可用。

    你的文件经历了什么

    PDF 文件由一组带编号的对象组成:页面、字体、图片、批注等,再加上一张交叉引用表,记录每个对象从文件的哪个位置开始。每一页都是一个对象,指向它的内容流、用到的资源和页面尺寸。合并时不需要重新绘制任何东西:只要把选中的页面对象,连同它依赖的字体和图片一起复制进一个新文档,再写一张新的交叉引用表即可。

    本页用开源 PDF 库 pdf-lib 完成这件事,它运行在浏览器的后台线程里。因为页面是被复制而不是被重新渲染的,所以:

    • 文字仍然可以选中和搜索,矢量图形放大多少倍都清晰;
    • 图片不会被重新压缩,没有画质损失;
    • 每一页保留自己的尺寸和方向,A4 竖版可以和 Letter 或横版页面合在一起,各自保持原样;
    • 原本就通过 PDF 的 /Rotate 设置旋转过的页面,旋转会被保留。

    缩略图和页数由 Firefox 内置的 PDF 渲染器 pdf.js 生成。两个库都从本站加载,文件内容自始至终只存在于页面的内存里。合并时打开浏览器开发者工具的「网络」面板,就能验证这一点。

    不会被带过去的内容

    有些功能属于整个文档,而不属于某一页,按页合并时不会保留:书签(目录大纲)、跨页的表单字段定义、嵌入的附件、文档级脚本,以及数字签名。一份签过名的合同被合并进另一个文件之后,就不再处于已签名状态,这是正确的行为。

    示例

    输入页码设置结果
    3 页竖版报告 + 2 页横版表格都留空共 5 页,第 4、5 页仍是横版
    一个 3 页的文件3, 12 页:先第 3 页,再第 1 页
    一个 10 页的文件1-3, 5第 1、2、3、5 页
    一个 6 页的文件4-第 4、5、6 页
    一个 3 页的文件3-1第 3、2、1 页,顺序反过来
    一个 10 页的文件11拒绝:这个文件只有 10 页

    最常见的用法是准备申请材料:一封用 Word 写的申请信、一份签好字的扫描表格、两张证书,按顺序合成一个文件,满足报名系统「只能上传一个 PDF」的要求。另一个常见用法是去掉双面扫描产生的空白背面:只填奇数页,比如 1, 3, 5, 7。

    局限

    • 设了密码的文件不能合并。 有打开密码的 PDF 是加密的,不先解密就复制它的页面,得到的只会是无法阅读的内容。请用你信任的阅读器输入密码打开,再另存或「打印」成新的 PDF,然后添加这份副本。只限制编辑、不限制打开的文件同样是加密的,也会因为同样的原因被拒绝。
    • 文件大小受设备内存限制。 在电脑上合并几百 MB 没有问题;在手机上处理很大的扫描件,可能会内存不足。
    • 不会额外压缩。 合并后的文件大小,基本等于所选页面原来的大小之和。合并不会让扫描件变小。
    • 书签、签名和附件不会保留,原因见上文。
    • 损坏的文件。 有些轻微损坏的 PDF 在阅读器里能打开,但无法被可靠地解析。用阅读器重新保存一次,通常就能解决。

    常见问题

    我的 PDF 会被上传到服务器吗?

    不会。文件在你的浏览器里读取和合并,合并后的文件也是在你的设备上生成的,不经过网络传输。你可以在浏览器开发者工具里确认这一点。

    文件数量或页数有限制吗?

    没有固定限制,也没有每日次数限制。实际上限取决于设备内存:在普通笔记本电脑上,几十个文件、几千页都没有问题。

    合并后的 PDF 会带水印吗?

    不会。页面按原样复制,不会添加任何内容。

    能只合并某个文件的其中几页吗?

    可以。在该文件卡片的「页码」框里填写,比如 1-3, 5 或 4-。留空则包含全部页面。

    文件不用密码就能打开,为什么还提示有密码保护?

    它很可能设置了权限密码,用来限制编辑或打印。这类文件仍然是加密的,不解密就无法复制页面。把它另存或打印成新的 PDF,再合并这份副本即可。

    参考资料

    用到这个工具的指南

    ↵ 打开 · Esc 关闭