前面的文章《轻松自动批量合并pdf文件,你真的不需要什么付费软件!| PA实战案例》里,讲了怎样选择多个pdf文件进行合并的操作方法以及要注意的问题,同时提到:
单独合并几个手动选择的pdf文件,不是Power Automate的强项!加入更多其他功能,最终实现整体自动化的批量处理,才是Power Automate的精华!
- 1 -
合并文件夹的所有pdf文件
首先,如果只是为了合并所有pdf文件,那用前面讲的手动选择文件的方式也一样能达到目的,不就是选择文件夹内的所有文件嘛!鼠标滑动全选,或按Ctrl A都行:
当然,如果只是这么做,就失去了真正文件夹级自动操作的意义了。所以,我们分两步走,具体这么做:
Step-01 获取文件夹中的文件
通过“获取文件夹中的文件”,选择要合并的pdf文件所在的文件夹(如果有需要,还可以设置“包含子文件夹”),并可以通过“*.pdf”的方式筛选出所有pdf文件,生成要合并的pdf文件列表:
Step-02 合并PDF文件
经过Step-01的操作,实际上我们已经获得了该文件夹下所有pdf文件的文件列表,这个列表可以在后面的步骤里直接调用。
所以,直接添加“合并PDF文件”步骤,选择前面生成的“%Files%”变量,然后选填好合并PDF文件的输出路径即可:
- 2 -
文件排序
其实,通过前面的两步走方式,因为“获取文件夹中的文件”独立出来,所以,我们可以使用更多高级的配置来实现文件的排序等需要。
比如,回到前面生成的“Step-01 获取文件夹中的文件”步骤,打开“高级”选项,其中即可选择文件列表的排序依据,可用于排序的选项非常多,比如我们可以选择按文件“名称”进行“降序”排列:
- 3 -
按文件夹分别合并
很多时候,我们需要对一个文件夹下,多个子文件夹中的pdf文件分别合并,比如2019年的所有文件合并成一个2019.pdf,其他年份以此类推,如下所示:
对于这个问题,在Power Automate里,有了前面的基础,再结合for each循环功能,实现起来也非常简单了:
Step-01 获取文件夹中的子文件夹
同样,这里可以通过*号等通配符来实现文件夹的筛选:
Step-02 添加“for each”循环
Step-03 在循环里,对每个文件夹获取其中的文件列表
Step-04 对各文件夹获取的pdf文件列表进行合并
这里我们可以通过前面for each循环遍历的子文件夹获得当前文件夹的名称,如“2019”、“2020”……,将其作为合并结果文件输出的文件名,再在前面加上存储结果文件的文件夹路径,后面加上“.pdf”后缀,即形成完整的结果文件名称:
通过这么简单几个步骤,我们就实现了自动按文件夹,分别合并其下所有pdf文件的操作——而这,才是Power Automate相对于用其他pdf工具一次次手工操作的优势所在:自动、批量!