跳到主要内容

在 Make 中合并文件夹中的多个 PDF 文件:Iterator、Array Aggregator 和 PDF4me 分步指南

· 阅读需 11 分钟
SEO and Content Writer

您的 Dropbox 文件夹中有多个 PDF 文件,您希望它们自动合并成一个 PDF 文件。但问题是: PDF4me 合并多个 PDF 文件 期待一个 大批 文件数据,但 Dropbox 监视文件 返回文件元数据列表, 下载文件 一次只能返回一个文件。为了弥合这一差距,你需要 迭代器数组聚合器迭代器逐个处理每个文件,数组聚合器将这些结果收集到合并所需的数组中。

本指南将详细介绍完整的“制造”场景,并重点关注…… 迭代器和数组聚合器的工作原理 以及如何将它们连接到 PDF4me Make 连接器。

你需要什么

流程概览

这种情况有 6 个模块 按此顺序:

  1. Dropbox:监视文件监视文件夹中的新文件或更新的文件。输出一个 大批 文件元数据(路径、名称、大小)。
  2. Dropbox:下载文件下载每个文件。运行 在迭代器路由内部每个文件一次。
  3. 迭代器从监视文件中获取数组并进行处理 逐一之后所有连接的组件都会对每个文件运行一次。
  4. 数组聚合器收集每次迭代器循环的输出(下载的文件数据)并将其打包成一个 单阵列 已格式化为 PDF4me 合并格式。
  5. PDF4me:合并多个PDF文件:接收聚合数组,将所有 PDF 合并为一个文件,并输出合并后的文件。
  6. Dropbox:上传文件将合并后的 PDF 文件保存到输出文件夹。
创建工作流程:Dropbox 监视文件 → 下载文件 → 迭代器 → 数组聚合器 → PDF4me 合并多个 PDF 文件 → Dropbox 上传文件

理解迭代器和数组聚合器

配置之前,了解以下内容会有帮助。 为什么 这两个模块是必需的。

为什么需要迭代器?

Dropbox、Watch Files 返回一个 大批 文件对象(每个对象都有路径、名称、大小等)。 PDF4me,合并多个PDF 需要一个 文件内容数组 这是二进制数据,不是元数据。要获取内容,您必须 下载每个文件。 但 下载文件 作品 每次运行一个文件它需要一条单一路径。

迭代器 解决方法是:它从监视文件中获取数组, 将其拆分成各个部分对于每个项目,它都会运行其路由中的模块。 一次。 所以:

  • 监视文件输出: [file1, file2, file3]
  • 迭代器运行该路由 3次:文件1一次,文件2一次,文件3一次
  • 下载文件运行 3次每次都使用迭代器中当前文件的路径

为什么需要数组聚合器?

迭代器运行后,您将拥有 多次独立执行 下载文件时,每个文件输出一个文件。PDF4me Merge 期望如此。 一个数组 包含所有文件数据。 数组聚合器 它执行的是迭代器的逆操作:它 收集 每个迭代器循环的输出和 组合 将其合并成一个数组,并进行结构化处理,以便 Merge 模块可以使用它。

  • 迭代器生成:循环 1 → 文件 1 数据,循环 2 → 文件 2 数据,循环 3 → 文件 3 数据
  • 数组聚合器收集: [file1 data, file2 data, file3 data]
  • 合并操作接收该数组并生成一个合并后的 PDF 文件。

步骤 1:Dropbox:监视文件(触发器)

该模块监控一个文件夹并输出一个文件元数据数组。当出现新文件或文件更新时,它会触发相应的场景。

目前为止的流程: 监视文件。

  1. 添加 Dropbox监视文件 (或者 列表文件 如果您更喜欢投票表决)。
  2. 联系 *选择您的 Dropbox 连接。
  3. 文件夹搜索方法: 选择 从列表中选择 (或您喜欢的其他方法)。
  4. 文件夹路径输入包含要合并的 PDF 文件的文件夹(例如: /pdf4metest/Merge/mergetest/)。
  5. 另请查看子文件夹: 放 如果您只想保留该文件夹中的文件; 是的 包含子文件夹。
  6. 限制 *设置每次运行的最大文件数(例如: 10该模块最多可处理 4,000 个项目。
Dropbox 监视文件:连接,文件夹路径 /pdf4metest/Merge/mergetest/,限制 10 个

输出: 一个文件对象数组。每个元素都包含 路径显示文件名文件大小以及类似字段。迭代器接下来将使用此数组。


步骤 2:Dropbox:下载文件(在迭代器路由中)

添加此模块 迭代器(它将位于迭代器路由内部)。它使用当前项的路径,在每个迭代周期下载一个文件。

目前为止的流程: 监视文件 → 迭代器 → 下载文件。

  1. 添加 Dropbox下载文件 并将其连接到迭代器。
  2. 联系 *选择您的 Dropbox 连接。
  3. 文件选择方式*: 选择 映射文件路径 所以你可以使用迭代器中的路径。
  4. 文件路径 *: 地图 2. 路径显示 (或者来自“监视文件”的路径字段)。这确保每次迭代都下载正确的文件。
Dropbox 下载文件:映射文件路径,文件路径映射到 2. 路径显示

每个周期的产量: 数据 (文件内容), 文件名文件大小数组聚合器将收集此信息。 数据 每个循环。


步骤 3:迭代器(流程控制)

迭代器从监视文件中获取数组,并对数组中的每个项目运行一次下面的路由。

目前为止的流程: 监视文件 → 迭代器 → [下载文件,每个项目运行]。

  1. 添加 流量控制迭代器 并将其连接到 Watch Files。
  2. 大批: 使能够 地图 并从监视文件中选择数组。您可以映射诸如以下字段: 5. 文件名5. 文件大小 (或者来自“监视文件”模块的等效项),以便迭代器知道要迭代的内容。迭代器会将当前项的字段(例如路径显示、文件名)暴露给其路由中的模块。
迭代器流程控制:启用 Map 的数组,已选择 5. 文件名和 5. 文件大小

行为: 如果“监视文件”返回 5 个文件,则迭代器将运行其路由 5 次。每次运行,“下载文件”都会接收该循环文件的路径并将其下载。


步骤 4:数组聚合器(流程控制)

数组聚合器收集每个迭代器周期的输出,并为合并模块构建一个数组。

目前为止的流程: 监视文件 → 迭代器 → 下载文件 → 数组聚合器。

  1. 添加 流量控制数组聚合器 并将其连接到迭代器路由之后(它会聚合所有循环)。
  2. 源模块*: 选择 Dropbox - 监控文件 [2] (或您的监视文件模块)。这定义了聚合器所属的场景运行。
  3. 靶结构: 选择 PDF4me - 合并多个 PDF 文件 [4...] (或者您的合并模块)。这将聚合数据进行结构化处理,以便合并模块可以使用这些数据。
  4. 文件文件: 选择 Dropbox - 下载文件 因此,聚合器收集了 文件内容(数据) 从每次下载中获取数据,而不仅仅是元数据。
数组聚合器:源模块 Dropbox 监视文件,目标结构 PDF4me 合并多个 PDF,文件 > 文件:Dropbox 下载文件

输出: 单个数组(例如 3. 数组[])包含所有已下载的 PDF 数据,格式为 PDF4me Merge 所期望的格式。


步骤 5:PDF4me:合并多个 PDF 文件

该模块接收聚合数组,并将所有 PDF 文件合并为一个 PDF 文件。

目前为止的流程: … → 数组聚合器 → 合并多个 PDF 文件。

  1. 添加 PDF4me合并多个PDF文件 (在“合并和拆分”下)并将其连接到数组聚合器。
  2. 联系 *选择您的 PDF4me 连接。
  3. 文件: 使能够 地图 并选择 3. 数组[] (数组聚合器的输出)。这将收集到的文件数据传递给合并操作。
  4. 输出文件名请输入合并后的 PDF 文件的名称(例如: merged_document.pdf)。
  5. 跳过受保护的PDF文件: 选择 是的 跳过受密码保护的PDF文件, 尝试将它们纳入其中。
PDF4me 合并多个 PDF:文件映射到 3. 数组[],输出文件名,跳过受保护的 PDF

输出: 姓名文件日期 (合并后的PDF缓冲区)。通过 文件日期 上传模块。


步骤 6:Dropbox:上传文件

将合并后的PDF文件保存到输出文件夹。

目前为止的流程: … → 合并多个 PDF 文件 → 上传文件。

  1. 添加 Dropbox上传文件 并将其连接到合并模块。
  2. 联系 *选择您的 Dropbox 连接。
  3. 文件夹 *输入目标路径(例如: /pdf4meoutput)。
  4. 文件 *: 选择 PDF4me - 合并多个PDF文件 因此,文件内容来自合并输出。
Dropbox 上传文件:文件夹 /pdf4meoutput,来自 PDF4me 的文件,合并多个 PDF 文件

摘要:此流程中的迭代器和聚合器

模块角色
迭代器将监视文件数组拆分为单个项。对每个文件运行一次“下载文件”操作。
数组聚合器收集每个“下载文件”输出并将其捆绑到一个数组中进行合并。
结果合并接收 [file1_data, file2_data, …] 并生成一个合并后的PDF文件。

如果没有迭代器,就无法分别下载每个文件。如果没有数组聚合器,合并操作就无法接收到所需的合并数组。它们共同将“多个文件元数据项”转换为 PDF4me 所需的“一个文件内容数组”。


后续步骤

  1. 运行该场景将几个 PDF 文件添加到“监视文件”文件夹并运行该场景。合并后的文件应该会出现在输出文件夹中。
  2. 合并顺序文件将按照它们在数组中出现的顺序合并(通常是 Watch Files 返回的顺序)。
  3. 文档有关参数和输出详情,请参阅 合并多个 PDF:创建