按文件夹批量合并PDF:PowerAutomate/Adobe自动化方案咨询
自动化合并多文件夹内PDF文件的可行方案
一、Power Automate 无代码实现
适合不想写代码的场景,支持OneDrive、SharePoint或本地文件夹(需配置本地网关):
- 新建一个手动触发的流,或设定定时触发
- 添加「列出文件夹」动作,指向存放所有项目文件夹的根目录,设置仅返回文件夹
- 添加「应用到每个」控件,循环遍历上述步骤返回的所有子文件夹
- 在循环内添加「列出文件夹」动作,指向当前循环的子文件夹路径,筛选文件扩展名为
.pdf - 添加「排序」动作,对筛选出的PDF文件按文件名升序排序(确保合并顺序符合要求,前提是文件名有顺序标识,比如
01-xx.pdf) - 添加「合并文件」动作,选择PDF类型,输入排序后的文件列表,输出路径设置为当前子文件夹,文件名可用文件夹名称命名(比如
{文件夹名称}_合并报告.pdf) - 保存并运行流,即可自动批量处理所有子文件夹
二、Adobe Acrobat Pro 批量处理
如果你有Acrobat Pro订阅,用内置的动作向导就能搞定:
- 打开Acrobat Pro,点击左侧「工具」面板里的「动作向导」
- 点击「创建新动作」,在弹出的工具列表里找到「合并文件」,添加到动作步骤
- 点击「合并文件」步骤的齿轮图标,进入设置:
- 选择「从文件夹添加文件」,指定项目根目录
- 勾选「仅处理子文件夹中的文件」,并设置「每个子文件夹生成一个单独的合并文件」
- 配置输出位置(建议选择「与源文件相同的文件夹」),设置合并后的文件名规则(比如用子文件夹名称)
- 保存动作后,点击「运行」,选择根目录即可自动批量完成所有合并操作
- 注意:确保每个子文件夹内的PDF文件名有明确的顺序标识,Acrobat默认按文件名排序合并
三、Python脚本 灵活自定义
适合有基础的用户,灵活性最高,可按需调整规则:
- 先安装依赖库:
pip install PyPDF2 - 复制以下脚本,替换根目录路径后运行:
import os from PyPDF2 import PdfMerger # 替换为你的项目根文件夹路径 ROOT_FOLDER = "C:/Projects/All_Reports" for root, dirs, files in os.walk(ROOT_FOLDER): # 跳过根目录,只处理子文件夹 if root == ROOT_FOLDER: continue # 筛选当前文件夹下的PDF文件 pdf_list = [f for f in files if f.lower().endswith(".pdf")] # 按文件名排序,保证合并顺序正确 pdf_list.sort() if not pdf_list: continue merger = PdfMerger() # 逐个添加PDF到合并器 for pdf_file in pdf_list: merger.append(os.path.join(root, pdf_file)) # 生成合并后的文件,用子文件夹名称命名 output_path = os.path.join(root, f"{os.path.basename(root)}_merged.pdf") merger.write(output_path) merger.close() print(f"完成:{output_path}")
- 优势:可以自定义排序规则、文件名规则,甚至添加更多逻辑(比如跳过已合并的文件)
内容的提问来源于stack exchange,提问作者jarrod millar
相关产品推荐
相关产品推荐

