PDF 合并
在浏览器本地把多个 PDF 按选择顺序合并成一个:自动统计每个文件的页数与总页数,合并结果一键下载。文件全程不离开你的设备,合同、发票、成绩单这类敏感材料也能放心拼。
报销要拼发票、投递要合证书、交材料常常限「一个文件」——PDF 合并就是这么个高频小事。把要拼的文件按顺序选进来,每份多少页、合计多少页先列清楚,确认无误再合并下载;文件从头到尾都在你电脑里,合同标书这类敏感材料也放心。
口径提醒:合并是逐页搬移、不重新编码,文字与图片保持原样(输出会写入新元数据,体积与原文件之和略有出入属正常);带打开密码的 PDF 无法读取,先移除密码再来;想调顺序就按目标顺序重新选文件;建议单次 10 个以内、单个 20 MB 以内。
这个工具解决你的问题了吗?
提交后会把工具名、你的输入与当前结果发送到服务器;请勿填写身份证号、手机号等隐私信息。
AI 助手 会结合你当前的输入与结果回答
追问会再次把当前输入与结果发送到服务器;请勿填写隐私信息。
使用步骤
- 「选择文件」按目标顺序依次选中多个 PDF。
- 核对列表里每个文件的页数与合计。
- 点「合并」生成新文件。
- 下载保存;顺序错了重选文件再来。
计算原理与示例
怎么合并多个 PDF
点「选择文件」一次选中多个 PDF(或分多次追加),页面列出每个文件的名称与页数;点「合并」得到按顺序拼接的新文件,点下载保存。
合并顺序由什么决定
按你在文件选择框里的顺序合并。想调整顺序就重新选择文件,按目标顺序依次点选即可;选错了个别文件,清空后重选比逐个删除更快。
加密的 PDF 能合并吗
带打开密码的 PDF 无法被读取,也就无法合并;可以先在本机用密码移除工具解除打开密码(不是权限密码)再来操作。
合并会压损画质吗
不会。合并是逐页搬移,不重新编码页面内容,文字与图片保持原样;输出文件会写入新的元数据,体积与原文件之和略有出入属正常现象。
代码示例
JavaScript pdf-lib 合并(浏览器内,不上传)
import { PDFDocument } from 'pdf-lib';
// copyPages 把源文档的页「复制」进目标文档 —— 合并的页不共享资源,可重复合并
async function mergePdfs(files) {
const out = await PDFDocument.create();
for (const file of files) {
const src = await PDFDocument.load(await file.arrayBuffer());
const pages = await out.copyPages(src, src.getPageIndices());
pages.forEach((p) => out.addPage(p));
}
return out.save(); // Uint8Array,直接丢给 Blob 下载
}
const bytes = await mergePdfs(fileInput.files);
Python pypdf 合并
from pypdf import PdfWriter
writer = PdfWriter()
for path in ['a.pdf', 'b.pdf', 'c.pdf']:
writer.append(path) # append = 追加全部页;也可 writer.add_page(page) 逐页挑
with open('merged.pdf', 'wb') as f:
writer.write(f)
常见问题
合并时 PDF 会上传到服务器吗?
不会。读取、合并、下载全部在浏览器内完成,合同、标书、体检报告这类文件不出本机,这也是本工具区别于在线转换站的核心一点。
一次能合并几个文件?
当前支持一次选择多个文件合并,建议单次不超过 10 个、单个不超过 20 MB,以保证浏览器流畅;更多文件分几次合并即可。
合并后的总页数怎么算?
就是各文件页数之和,页面会逐个列出每个文件的页数并给出合计,合并前就能核对顺序对不对。
为什么合并后的文件比原来几个加起来还大?
输出写入了新的文档结构与元数据,且部分跨文件资源不会被去重。差几 KB 到几百 KB 都正常;对最终使用没有影响。
扫描件可以合并吗?
可以。扫描件本质也是 PDF,合并按页搬移,扫描质量不会变化。特别大的扫描件建议单个控制在 20 MB 内。
合并顺序错了怎么办?
重新点「选择文件」按正确顺序再选一遍即可覆盖;当前版本不支持拖拽排序,后续版本会加入逐个上移下移的能力。
能顺便压缩合并结果吗?
目前不能,合并保持页面原样。需要减小体积可先对各文件单独压缩(图片类内容收益明显),再合并;纯文字 PDF 压缩空间通常很小。
延伸阅读
来自本站原创文章,讲清这个工具背后的算法与口径。