什么时候需要拆分或合并PDF?几种方案对比

先看几个真实场景,看有没有你也遇到过的:

拆分场景

  • 一份百页投标书,技术和商务部分需要分开提交
  • 从扫描的杂志 PDF 中提取需要的文章页
  • 把多个学生的答卷合并扫描成一个 PDF 后,需要按人拆分开

合并场景

  • 将每周的工作周报合并为一份季度汇总
  • 把合同的正文、附件、签章页合并在一个文件里发出去
  • 手机拍了多页文件照片转成 PDF 后,需要合并为一个文件

拆分和合并其实是同一类需求的正反两面------调整 PDF 的页面结构。下面按不同的使用条件来选方案。


二、方案一:在线工具(浏览器打开即用)

在线方案适合电脑上没装 Acrobat、或者偶尔才需要操作一次的情况。以 91aitool.cn 为例,它的 PDF 拆分和 PDF 合并是两个独立功能,操作互不干扰。

PDF 拆分

你上传一份 PDF,然后在文本框中输入页码范围,就可以提取出需要的页面。我试下来常用的格式有这么几种:

  • 1-3 ------ 提取第 1 到第 3 页
  • 1,3,5 ------ 提取第 1、3、5 页
  • 1-3,5,7-9 ------ 混合范围也支持,多个范围之间用逗号隔开
  • 留空不填 ------ 那就每页拆成一个独立文件

选好范围点击转换就行,单文件最大支持 300MB,大部分文档都够用。拆分结果如果是多范围提取,会打成一个压缩包一起下载。

用的时候有个小经验:不确定页码范围的话,先用阅读器打开 PDF 看一下总页数,再回过来填。我一开始以为这是废话,直到有次把范围写反了------1-3 写成 3-1,服务端不认识这种反向范围,直接不处理,白等了好几分钟。

PDF 合并

合并功能的操作逻辑有点不同:不是上传单个文件,而是同时上传多个 PDF,然后通过拖拽调整它们的顺序,排好之后点合并就行。

一个可能需要注意的地方是:顺序调整要靠拖拽左侧的手柄,不是直接拖文件名。我第一次用的时候试着拖了文件名区域没反应,后来才发现手柄区才是拖拽位。

合并后的文件保留各自原始的排版和页面尺寸------A4 和 A3 混在一起也没问题,阅读器会自动适应。单个文件上限是 100MB,如果你手头的 PDF 特别大可以先压缩一下再用。

两个功能都需要微信扫码登录才能使用,服务端处理完后会自动删除你的文件,不保留副本。


三、方案二:Adobe Acrobat Pro(本地处理,有页面预览)

如果你在电脑上安装了 Adobe Acrobat Pro(不是免费的 Reader),那么拆分和合并都可以在本地完成,不需要上传文件。

拆分操作

  1. 用 Acrobat Pro 打开 PDF
  2. 点击右侧工具栏的 "组织页面",你会看到每一页的缩略图
  3. 按住 Ctrl 点击选中需要的页面,右键选择 "提取页面"
  4. 弹窗里可以勾选"提取为单独文件"或者"提取后删除原页面"
  5. 保存结果

有缩略图预览是 Acrobat 的优势------你能直接看到每一页的内容,不容易选错。

合并操作

  1. 顶部菜单 "工具" → "合并文件"
  2. 点击"添加文件",选多个 PDF
  3. 合并列表里可以直接拖拽文件名调顺序
  4. 点击"合并"

我在公司处理标书的时候习惯用 Acrobat,因为每页都能看到内容,提取或删除之前心里有底。不过 Acrobat Pro 是订阅付费的,如果只是偶尔用一次,专门买一个不太划算。


四、方案三:Python + PyMuPDF(批量处理首选)

如果需要处理的文件很多,或者想把拆分合并做成自动化流程的一部分,Python 的 PyMuPDF 库是最顺手的选择。

python 复制代码
pip install PyMuPDF

PDF 拆分代码

python 复制代码
import fitz
import os

def extract_pdf_pages(input_path, output_path, page_spec):
    """从 PDF 中提取指定页面
    page_spec: 列表, 每个元素是页码范围或页码, 如 ['1-3', '5', '7-9']
    """
    doc = fitz.open(input_path)
    out = fitz.open()

    for spec in page_spec:
        if '-' in spec:
            start, end = map(int, spec.split('-'))
            out.insert_pdf(doc, from_page=start-1, to_page=end-1)
        else:
            page = int(spec) - 1
            out.insert_pdf(doc, from_page=page, to_page=page)

    out.save(output_path)
    out.close()
    doc.close()
    print(f"已提取 {sum(len(r.split(',')) for r in page_spec)} 页 → {output_path}")

# 示例: 提取第 1-3 页和第 5、7-9 页
extract_pdf_pages('report.pdf', 'extracted.pdf', ['1-3', '5', '7-9'])

PDF 合并代码

python 复制代码
import fitz

def merge_pdf_files(input_files, output_path):
    """合并多个 PDF 文件"""
    merged = fitz.open()
    for file_path in input_files:
        with fitz.open(file_path) as doc:
            merged.insert_pdf(doc)
    merged.save(output_path)
    merged.close()
    print(f"合并完成: {len(input_files)} 个文件 → {output_path}")

# 示例: 按文件顺序合并
merge_pdf_files(['cover.pdf', 'body.pdf', 'appendix.pdf'], 'full.pdf')

实用技巧:从文件夹自动合并

应付"每周要把一堆 PDF 按文件名排序合并"这种重复劳动时,可以加个排序逻辑:

python 复制代码
import os, glob

def merge_from_folder(folder, output_path):
    """按文件名排序合并文件夹中所有 PDF"""
    files = sorted(glob.glob(os.path.join(folder, '*.pdf')))
    merge_pdf_files(files, output_path)

merge_from_folder('./weekly_reports/', 'Q1_report.pdf')

脚本方案的优势是批量处理------几百个文件交给脚本跑完就行。缺点是需要一点 Python 基础,而且没有可视化界面,选页的时候得靠记页码。我个人一般把这些脚本存起来,下次遇到类似场景直接改个路径就能跑。


五、方案对比

维度 在线工具 Adobe Acrobat Pro Python + PyMuPDF
安装要求 无需安装 需付费订阅 需安装 Python
操作系统 全平台 Win / Mac 全平台
离线使用 需联网 支持 支持
文件大小限制 拆分 300MB / 合并 100MB 不限 不限
页面预览 有缩略图
拖拽排序 拆分不可 / 合并支持 支持 不支持(靠代码控制)
批量处理 不支持 可建动作脚本 最适合
操作直观度 需要编程
适用频率 偶尔 日常频繁 大量重复

场景推荐

  • 临时拆分一份大文件,或者把几份 PDF 合成一份 → 在线工具,开网页就用上了
  • 页面结构复杂,需要看缩略图确认再操作 → Adobe Acrobat Pro
  • 每天成百上千份 PDF 需要处理 → Python 脚本,跑完收工
  • 文件涉及敏感信息不能上传服务器 → Acrobat 或脚本本地处理

六、两个小提醒

  1. 用之前确认页数。不管用哪个方案,先把 PDF 在阅读器里打开看一眼总页码,避免范围填错重新来一遍。
  2. 合并前检查页面尺寸。A4 和 A3 混在一起虽然能合并,但打印时要注意纸张设置,不然打印出来的排版可能会有缩放。

本文提到的在线工具仅为方法示例,请根据实际需求选择适合的方案。

相关推荐
蝶恋舞者3 小时前
NMC-G2网络管理卡 资料官网下载流程
pdf
hu55667987 小时前
Adobe Acrobat DC 如何按页数方法拆分2个或多个pdf
pdf·pdf拆分
夏沫琅琊8 小时前
Jetpack Compose + 原生 PDF API 从零搭一个 Android 工具应用 (一)
android·pdf·kotlin
慧都小妮子8 小时前
Aspose.Words for JasperReports v26.6 发布,底层Java大升级
java·pdf·报表工具·aspose.words·文档转换·报表导出·jasperreports
qq_422152578 小时前
PDF页面管理的几种实用方法:拆分、合并、删除指定页面
java·前端·pdf
复园电子1 天前
跨平台PDF签名解析器设计:多方签署与自签名证书(野鸡CA)过滤
pdf·电子合同
AI导出鸭PC端1 天前
预览即导出:告别AI文档格式崩塌,网页预览效果1:1落地Word
人工智能·pdf·word·流程图·豆包·ai导出鸭
hu55667981 天前
小规模纳税人财务报表报送后如何导出报送pdf
pdf
__zRainy__1 天前
基于计数信号量(Counting Semaphore)的 PDF 渲染并发控制方案
pdf