高级 Mail Merge 特征

Aspose.Words 提供了一些额外的 mail merge 允许您执行进一步自定义的属性和方法 mail merge 过程要么简单 mail merge 或 mail merge 与地区。

高级 mail merge 征包括但不限于在执行一个 mail merge 操作,为a设置规则 mail merge 操作,并在一个 mail merge 操作。 本文将仅介绍几个属性和示例,向您展示如何使用高级功能。

为 Mail Merge 运作

向模板添加规则可以使工作流过程更加有效和灵活。 使用 mail merge 规则,您可以设置可以快速更改的内容并避免生成多个文档的需要。

Aspose.Words 允许您自定义 mail merge 基于在执行 mail merge 操作和控制合并信息。 例如,当您创建要发送给所有客户的电子邮件或信件时。 您可以设置一个规则,以便字母可以根据数据源的某些字段中的不同值包含各种数据。

看看一些 mail merge 您可以实施的规则。

实现下一个字段以合并当前文档中的数据记录

您可以实现 Next 字段以将下一条数据记录合并到当前生成的合并文档中,而不是启动新的合并文档。 它用于在一个文档中显示多个记录。

实施;实施 NextIf 和 SkipIf 用于比较两个表达式的字段

你可以使用 NextIf 场或 SkipIf 字段如果要比较两个表达式([right]https://reference.aspose.com/words/cpp/aspose.words.fields/fieldif/) and left 表达)由一些 operator.

NextIf

Field Name Comparison Result “True” Comparison Result “False”
NextIf Aspose.Words 将下一个数据记录合并到当前合并文档中,以及模板中所有在之后的合并字段 NextIf 字段将被下一个数据记录而不是当前数据记录的值替换。 Aspose.Words 会将下一个数据记录合并到一个新的合并文档中。
SkipIf Aspose.Words 将取消当前合并文档,移动到数据源中的下一个数据记录,并启动新的合并文档。 Aspose.Words 将继续当前合并文档。

获取有关模板结构的信息

Aspose.Words 允许您通过多种方法在模板中收集不同的信息。 例如,您可能需要获取模板中某些合并字段的名称或区域的层次结构。 现在我们将解释可能的变体,以从您的模板中获取一些特定信息。

获取合并字段名称

您可能会遇到一个场景,您将希望将数据与由其他人创建的合并字段合并,在这种情况下,您将不确定合并字段的确切名称。 因此,要实现 mail merge 目的,首先,您将需要读取并显示所有合并字段的名称。 Aspose.Words 允许您使用 GetFieldNames 方法。

下面的代码示例演示如何获取模板中所有合并字段的名称:

获取有关合并区域的信息

您可能有一个场景,您想了解您的模板是如何通过指定的合并区域结构的。 您可以使用一些方法来收集有关合并区域的所有必要信息,或者在模板中获取合并区域层次结构,例如 GetRegionsHierarchy 方法。 您可以使用 MailMergeRegionInfo 类。下面的代码示例演示如何获取合并区域层次结构:

System::SharedPtr<MailMergeRegionInfo> regionInfo = doc->get_MailMerge()->GetRegionsHierarchy();

添加映射字段

Aspose.Words 允许您自动映射数据源中的字段名称和 mail merge 模板中的字段使用 MappedDataFields 财产。 例如,如果您的模板中有一个名为"姓氏"的字段名称,并且在数据源中有字段名称"姓氏"或其他变体,如"Last_Name"或"LastName",那么数据源中的字段会自动映射到对应的映射字段。 如果要将合并模板与许多数据源合并,则映射字段无需将字段重新输入模板以与数据库中的字段名称一致。

下面的代码示例演示如何使用 Add 模板中的合并字段和数据源中的数据字段具有不同名称时的方法: