于得泉出品 · 离线 PDF 合并工具
一个完全离线、单文件的 PDF 合并网页工具。所有处理在浏览器本机完成,不联网、文件不上传第三方。
何时使用
- 用户要合并多个 PDF 为一个文件
- 用户要“只合并其中几页”“按想要的顺序排”
- 用户手上有加密 / 权限受限的 PDF,普通工具合并出空白
- 用户强调隐私:不能把文件传到陌生服务器
- 用户想要一个能直接发给别人、双击就用的小工具
如何使用
资源文件位于本技能目录的 assets/PDF合并工具.html:
- 本地使用:把
assets/PDF合并工具.html发给对方,对方双击用浏览器打开即可(离线)。 - 联网分享:将该 HTML 部署到任意静态托管(如 CloudStudio),生成网址后通过微信发送。
- 本技能不执行代码,仅作为“资源 + 说明”交付物。若用户要求,可协助把 HTML 复制到项目目录并部署。
功能清单
- 上传:点击/拖拽,多选多次;最多 10 个文件、300 页、单文件 150MB;非 PDF 自动跳过提示
- 容错:受打开密码保护的 PDF 标红提示;损坏文件标红不可合并;空密码+权限受限的加密 PDF 自动解密后合并(不会出空白页)
- 预览:每页缩略图网格、懒加载、并发渲染限制 3;默认全选,点击切换选中/取消
- 选页:每文件「全选 / 清空 / 反选」
- 排序:拖拽手柄拖动整文件卡片 + 「上移 / 下移」按钮;序号徽章实时重排,已渲染缩略图不重绘
- 合并导出:底部栏实时显示“N 个文件 · 将合并 X 页”;自定义输出文件名;保留页面尺寸与旋转;合并后浏览器下载
- 界面:中文、简洁现代;顶部统计条超限标红;「清空全部」带确认;提示用 toast
技术栈(全部内嵌于单 HTML)
- pdf-lib 1.17.1 — 合并 PDF、探测加密
- pdf.js 3.11.174 — 渲染缩略图(worker 经 Blob 化以支持 file:// 离线)
- qpdf-wasm 0.0.2 — 解密空密码受限 PDF(wasm 内嵌为 base64,经 instantiateWasm 注入以支持离线)
已知限制
- 仅纯前端,无后端、无云存储;合并结果只在用户本机生成与下载。
- 真正设了打开密码的 PDF 无法自动处理,需用户先解密。
- 工具文件较大(约 3.7MB),因内嵌了全部依赖。