文件图片 本地计算 开箱即用 内置示例 不留痕迹

PDF 合并

在浏览器本地把多个 PDF 按选择顺序合并成一个:自动统计每个文件的页数与总页数,合并结果一键下载。文件全程不离开你的设备,合同、发票、成绩单这类敏感材料也能放心拼。

报销要拼发票、投递要合证书、交材料常常限「一个文件」——PDF 合并就是这么个高频小事。把要拼的文件按顺序选进来,每份多少页、合计多少页先列清楚,确认无误再合并下载;文件从头到尾都在你电脑里,合同标书这类敏感材料也放心。

口径提醒:合并是逐页搬移、不重新编码,文字与图片保持原样(输出会写入新元数据,体积与原文件之和略有出入属正常);带打开密码的 PDF 无法读取,先移除密码再来;想调顺序就按目标顺序重新选文件;建议单次 10 个以内、单个 20 MB 以内。

使用步骤

  1. 「选择文件」按目标顺序依次选中多个 PDF。
  2. 核对列表里每个文件的页数与合计。
  3. 点「合并」生成新文件。
  4. 下载保存;顺序错了重选文件再来。

计算原理与示例

怎么合并多个 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 压缩空间通常很小。

延伸阅读

来自本站原创文章,讲清这个工具背后的算法与口径。