免费在线 PDF 合并
将多个 PDF 文件合并为一个。可以重新排序页面、删除文件,瞬间完成合并。文件始终留在您的设备上。
支持 PDF · 单个文件最大 50 MB
使用方法
- 上传 PDF: 拖放或选择多个要合并的 PDF 文件。
- 调整顺序: 使用上下按钮重新排序页面,删除不需要的文件。
- 合并: 点击"合并 PDF"将所有文件合并为一个。处理在浏览器中瞬间完成。
为什么要合并 PDF?
合并 PDF 对于整理文档、汇总多份资料生成报告、准备提交材料或减少文件杂乱来说都非常实用。无需发送多个附件或创建复杂的文件夹结构,只需将所有内容合并到一个易于分享的 PDF 中即可。非常适合合同、演示文稿、发票和各类文档。
功能特点
- 文件数量不限: 想合并多少 PDF 就合并多少。
- 重新排序: 合并前可按任意顺序排列文件。
- 隐私保护: 所有处理都在您的浏览器本地完成,文件不会上传到任何服务器。
- 快速: 瞬间合并,无需等待或排队。
常见问题
上传后还能调整文件顺序吗?
可以。每个文件都有上下按钮用于调整顺序。文件会按列表中显示的顺序合并。
文件大小有限制吗?
每个 PDF 最大 50 MB。合并后的总大小取决于浏览器可用内存,通常可以合并总计数百 MB 的文件。
我的 PDF 会被上传到服务器吗?
不会。所有合并都使用 pdf-lib 在您的浏览器本地完成。PDF 始终不会离开您的设备,完全保障隐私与安全。
可以在手机上合并 PDF 吗?
可以。本工具支持桌面、平板和手机浏览器。只需点击选择文件即可合并。
如果 PDF 文件损坏怎么办?
对于损坏的文件,工具会显示错误提示。您可以尝试从原始来源重新导出 PDF,或先使用在线 PDF 修复工具修复。
PDF 与合并操作的简史
Adobe 于 1993 年发布便携式文档格式(PDF),将其定位为纸张的数字延伸:让一台电脑可以把已排版的页面发送给另一台电脑,而接收方无需安装同样的字体、同样的操作系统或同样制作该页的应用程序。第一版于 6 月 15 日随 Acrobat 1.0 一起发布,阅读器售价 695 美元,蒸馏器(Distiller)售价 2,500 美元。在 Adobe 于 1994 年把阅读器改为免费、美国国税局(IRS)在 1990 年代末把 PDF 标准化为可填写税表之前,采用速度一直很缓慢。这两件事把 PDF 拉进了全球的政府办公流程。
到 2008 年,规范已经稳定到 Adobe 可以把它交给国际标准化组织(ISO),ISO 在当年 7 月把它公布为 ISO 32000-1。今天的最新版本是 ISO 32000-2:2020,任何认真做 PDF 工具的人都隐含地以它为准。在这一整段历史里,合并操作一直是 PDF 使用最多的转换之一,按总用户数算只排在「查看」和「打印」之后。AIIM 2021 年的行业调查估计,发达经济体的普通知识工作者平均每周合并 2 到 5 个 PDF,中位数操作合并 3 到 7 个源文件。
合并比 PDF 本身还要古老。早在 1989 年,PostScript 文件就已经在用 shell 管道连接,有时候真的就是把一个文件追加到另一个文件后面,然后手工重编页标记。PDF 让这件事既变得更容易(因为文件格式通过交叉引用表实现随机访问),也变得更难(因为页面内容并不存在于一条线性的流里)。现代的每一个 PDF 合并器,从桌面 Acrobat 到这个浏览器工具,解决的都是同一个底层问题:取若干棵页面树,产生一棵合并后的页面树,让它指向原始的内容对象,且不破坏把页面连到其字体、图像和资源的任何间接引用。
「合并」在文件内部究竟做了什么
PDF 不是一份单一的文档,它是一棵树。根是目录(catalog),指向一棵页面树(pages tree),其叶子是单个的页面对象。每个页面对象持有的是引用,而不是资源本身:该页面用到的字体作为单独的间接对象生活在文件主体中,图像、表单 XObject、图形状态字典和图样也一样。页面的资源字典把短名称(/F1、/Im2、/GS0)映射到这些间接对象的编号。正是这种间接性,使得在不修改原始页面内容的情况下合并成为可能:你可以构造一个新的根页面对象,让它指向来自多个源文档的叶子。
正确的合并不是二进制追加。库会读取每个源文件的交叉引用表,把每一个间接对象解析进内存,然后对每一个被请求的页面遍历资源图,把所有被传递引用到的对象复制到输出中。复制过来的对象在目标的编号空间里获得新的对象号,它们内部的每一个引用都被重写以保持一致。最后构造一棵新的页面树,它的孩子按你要求的顺序指向被复制的页面叶子,并写出一张新的交叉引用表。源内容没有任何一处被解压、重新编码或栅格化。源页面的文本、图像和矢量图形原封不动地写入输出,这就是合并是无损的原因,也是合并后文件大小基本等于各输入之和的原因。
驱动合并的真实工作流
- 合同与法律备件。 签署的合同很少是一份文档。主协议、附表、签字页、附件都需要一起送达。法院的电子立案系统,例如美国联邦法院的 CM/ECF,明确要求带证据的动议提交合并后的 PDF。
- 费用报告与报销。 Concur、Expensify 以及大多数企业报销系统每张报销单只接受一份 PDF。员工扫描或下载票据,合并,然后上传。合并是每个月报销周期里习以为常的「粘合剂」。
- 信笺纸与封面页。 摄影师、咨询师和设计师会保留一份一页的 PDF 信笺纸,每一次交付前都加在前面。这是不必重新栅格化美术稿件就能保持品牌一致性的最省事的办法。
- 课程资料与试卷。 大学按周分发合并后的阅读材料 PDF。考试委员会把题册与参考答案合并在一起。学生把作业组合成作品集。这是绝对量上最高的合并使用场景,学期末截止周里是学术高峰负载。
- 政府与移民申报。 美国移民局(USCIS)、英国内政部以及多数欧洲移民机关都要求把证据合成一份 PDF 上交。一份典型的入籍申请可能把 20 到 80 份各自来自不同源格式的扫描文件,合并成一份提交的 PDF。
- 摄影与作品集投递。 画廊、经纪公司和艺术院校招生通常要求一份合并后的 PDF,并且常常有文件大小上限。合并这一步之后,通常紧接着一次压缩,以便挤进容量上限内。
常见陷阱及绕过办法
- 表单字段失效。 交互式表单字典位于文档级,而不是某一页上。合并复制了表单控件的视觉部分(矩形、标签、外观流),但没有把使它们能交互的字段定义带过去。合并出来的表单看起来对,实际却不接受输入。解决办法:先用 在线 PDF 展平,免费 工具把每一份表单展平,把控件转成普通的页面内容,然后再合并。
- 书签消失。 大纲树(你在 Acrobat 左侧栏看到的目录)是一个文档级结构。把若干份源文档的大纲合并成一份连贯的大纲,没有通用的算法可言,所以大多数纯浏览器合并器,包括这一个,都会把它们丢弃。如果书签很重要,先合并,然后在桌面编辑器里手工重建大纲。
- 加密的 PDF 无法加载。 带开放密码的 PDF 在密码没提供之前无法解析。本工具不支持加密输入。流程:先用 免费在线 PDF 解锁 工具去掉保护,再合并已解锁的副本。
- 数字签名被破坏。 PDF 上的数字签名是文件特定字节范围的密码学哈希。对文件做任何修改,包括把它与其他文件合并,都会让签名失效。合并出来的输出仍然是合法的 PDF,但「签名有效」会变成「签名无效」。从密码学上讲这是正确的行为,但通常不是你想要的。解决办法:把已签署的 PDF 保留为单独的文件;签署副本必须保持不动。
- 字体子集重复。 当同一款字体出现在两份源文档中时,通常会嵌入为两个略有不同的子集。合并器没有通用的办法判断它们是否等价,因此输出里两份副本都留着。所以合并文件会比简单相加略大一点。把合并输出再过一遍 免费在线 PDF 压缩 工具,能拿回不少多出来的体积。
浏览器合并与云端合并的对比
本工具和那些在 Google 搜索结果里占据榜首的云端 PDF 合并器之间,功能上最大的差别在于解析发生在哪里。Smallpdf、ILovePDF、PDF24 的网页版、Sejda 的免费档以及 Adobe 的在线工具,都会把源文件上传到它们的服务器,在那里执行合并,再把合并好的文件回传给你下载。它们的隐私政策声明上传的文件会在几小时内删除。但这些文件仍然要穿过运营者的网络,在其磁盘上驻留处理时间,并经过运营者为防滥用而保留的日志。
这个工具不是这样的。你的 PDF 文件通过标准的 File API 读入浏览器标签页,在同一个标签页里由 pdf-lib 库解析,再通过标准的下载 API 写回你的硬盘。合并过程中唯一的网络流量,是页面初次打开时一次性从 CDN 加载 pdf-lib 本身。你可以验证:打开浏览器开发者工具的「网络」面板,执行一次合并,观察是否有任何携带文件内容的请求发出。任何涉及保密的内容(HIPAA、GDPR、律师-当事人保密、保密协议项下的资料),最好在浏览器里合并。任何超过几百兆字节的、需要后续 OCR 的、或需要基于角色访问控制的,最好交给你显式选择的服务端工具。
关于无障碍的一点说明
PDF 无障碍由 ISO 14289(PDF/UA-1)和 W3C 的「WCAG 2.0 之 PDF 技术」规范。一份打过标记的 PDF 会包含一棵结构树,标出逻辑阅读顺序、标题、列表、表格单元格和图片替代文本。JAWS、NVDA、VoiceOver 等屏幕阅读器会用这棵树以合理顺序呈现文档,而不是按视觉顺序(视觉顺序常常是分栏的,或带侧栏)。结构树是文档级对象,所以在本工具里合并两份打过标记的 PDF,得到的是一份没有标记的输出。如果是私人归档或报销资料,这没问题。但对于面向视障读者公开发布的文档,你会需要用 Adobe Acrobat 的「使易于访问」动作向导去补救合并输出,或者干脆从已经没有可保留无障碍元数据的扁平扫描 PDF 开始。
更多常见问题
一次能合并超过 50 MB 的 PDF 吗?
每个文件最大 50 MB,合并后总大小的实际上限在桌面浏览器上大致是 300 MB,移动端上大致是 100 MB。这两个数都是浏览器内存的后果,而不是 PDF 格式本身的限制。ISO 32000-2 允许文件大到 2^64 字节,所以 PDF 不是瓶颈。瓶颈是 JavaScript 堆,多数浏览器把它限制在每个标签 2 到 4 GB。如果你的合并输入接近或超过这个数,桌面工具(例如 Adobe Acrobat 或苹果的「预览」)处理起来会更可靠。
为什么合并后的文件比输入文件之和稍大?
大多数情况下,合并文件就是几乎等于求和,误差只有几个百分点。这点开销来自:重复的字体子集(同一款字体被两份源文档分别嵌入,在输出里就出现两次)、合并器无法识别为等价的重复图像资源,以及覆盖合并后对象总数的新交叉引用表。把合并输出再用一次 PDF Compress,通常能把这些开销大部分收回。
可以合并不同页面尺寸的 PDF 吗?
可以。PDF 的每一页都自带一个 media box,即定义其可见区域的矩形。一份合并 PDF 里可以同时混有任意尺寸(A4、US Letter、A3、自定义尺寸),大多数阅读器会按每页自身的尺寸显示。合并后的文件本身并不选一个「胜出」尺寸。如果你需要输出里每一页大小都一样,那是另一项操作(调整尺寸),本合并工具不负责。
合并会丢掉我的元数据吗?
文档信息字典(标题、作者、主题、关键字、生产程序)取自第一个源文档。后续源文件中的元数据被丢弃。XMP 元数据流(现代 PDF 存放更丰富的结构化元数据块的位置)由 pdf-lib 重新从零构建。如果跨合并保留特定元数据很重要,就在第一个源文档里有意识地把它写好,或者合并完之后再用桌面编辑器补上。
我拖文件进来的顺序重要吗?
重要。文件按列表里出现的顺序合并。在点「合并 PDF」之前,可以用每行的上下箭头调整顺序。第一个文件成为输出的前几页,第二个文件接着,依此类推。元数据也取自第一个文件,所以把你想保留其标题和作者的那份放在最前面。