PDF合并·拆分

按顺序把多个PDF合并成一个,或从PDF中取出需要的页面单独保存。文件不会发送到服务器。

可以分多次选择,文件会不断追加到列表中。用箭头按钮调整顺序。

这个工具能做什么

它只做两件事。合并:按列表中的顺序,把多个PDF首尾相接,生成一个新的PDF。拆分:从一个PDF中把你指定的页面收集成新文件,或把每一页都单独存成一个文件。 常见用途是把申请表、证件复印件和附件合成一个文件提交,或者只把一份长报告里的某几章发给同事。 页面旋转、文件内调换页序、编辑内容、压缩体积,以及把其他格式转成PDF,都不在它的功能范围内。

文件在哪里处理

页面使用开源库pdf-lib(本项目中为1.17.1版)。这个库在网站发布时就已打包进页面自身的脚本里,使用时并不是从第三方CDN临时加载。 选中文件后,代码用file.arrayBuffer()读取内容,用PDFDocument.load打开,用copyPages把页面复制到新文档,再用save生成结果,以内存中的Blob形式交给浏览器下载。 页面代码中没有把PDF内容发往网络的步骤,所以不会上传,也不会保存。想自己验证的话,可以打开浏览器开发者工具的“网络”面板再执行合并,不会出现携带你文件的请求。 网站通用的部分(例如广告、统计脚本)与PDF处理相互独立,拿不到你的文档。关闭或刷新标签页后,内存中的数据即被丢弃。

合并的行为

文件无论分几次选择,都会追加到列表末尾;每一行显示文件名和大小,并有上移、下移、删除三个按钮。至少有两个文件时合并按钮才可用。 输出文件名固定为merged.pdf,完成后会显示合并了几个文件、共多少页以及结果的大小。同一个文件添加两次就会出现两次,所以也可以用来重复插入签字页或空白分隔页。 由于页面是被复制而不是重新渲染,文字仍可选中,图片也不会被二次压缩:画质不变,体积也不会变小,结果大小接近各输入文件之和。 如果结果太大不方便发邮件,可以在把图片放进文档之前,先用图片压缩工具缩小图片。

页码范围的写法

“仅提取所选页面”会按你输入的页码生成一个extracted.pdf。用英文逗号分隔多段,连续页用连字符,例如1-3,5。页码从1开始,结果按输入顺序排列,所以3,2,1会得到倒序的三页。 像5-3这样前大后小的范围会自动按3到5处理。超过文档总页数的页码以及无法识别的片段会被忽略,输入框下方会实时显示实际将提取多少页、哪些部分被忽略。 下表是在网站构建时,按同样的规则针对一份10页的文档计算出来的结果。

输入提取的页面页数被忽略的部分
1-3,51, 2, 3, 54-
5-33, 4, 53-
2,2,42, 2, 43-
8-128, 9, 1038-12(超出范围的页已忽略)
7-(无)07-
0,3310(超出范围)
1-2,9-101, 2, 9, 104-

2,2,4这样重复写同一页,输出里就会有两份第2页。8-12不会报错,而是只取到第10页。7-这种“从第7页到最后”的写法不被支持,会被忽略,请写成7-10。 “将所有页面逐一拆分”会把N页的文档变成N个单页PDF,并依次列出page-1.pdf、page-2.pdf……的下载按钮。它不会自动保存,需要哪一页就点哪个按钮。页数很多时,因为要逐页生成文档,会花些时间。

计算示例

限制与注意事项

得到文件之后

发送之前,建议用PDF阅读器打开结果,确认页序正确、没有遗漏。如果上传的网站有大小限制,与其勉强压缩,有时直接用页码范围拆成两个文件更稳妥。 包含个人信息的文件一旦下载,就已离开这个工具的保护范围,请只通过可信的渠道传递。

常见问题

我选择的PDF会保存在服务器上吗?

不会。合并和拆分都只在浏览器内进行,用的是随页面一起发布的库;代码中没有发送文件的步骤,结果在内存中生成并直接下载到你的设备。

最多可以合并多少个文件?

工具本身没有设上限,实际限制来自浏览器内存,因设备而异。如果页面变卡或合并失败,可以先两三个一组合并,再把得到的文件合并在一起。

有密码的PDF能处理吗?

不能。这里没有输入密码的方式,加密文件无法打开。如果你有权限,请先用已去除保护的副本。

合并会降低画质或改变文件大小吗?

都不会。页面原样复制,画质不变;但图片也不会被重新压缩,所以结果大小与原文件之和相近。

可以调整页序或倒序吗?

合并标签页里只能按文件调整顺序。拆分标签页中,你输入的顺序就是输出的顺序:3,2,1可倒序三页,5,1-4可把5页文档的最后一页移到最前。

逐页拆分后能一次性全部保存吗?

没有打包成ZIP的功能,每一页对应一个下载按钮。如果需要多页,用页码范围提取成一个文件更方便。