在 Illustrator 中通过模板和变量合并数据以创建数据驱动图形

优质
小牛编辑
160浏览
2023-12-01

在 Illustrator 中,使用“变量”面板,可通过将数据源文件(CSV 或 XML 文件)与 Illustrator 文档合并,轻松地创建图稿的多个变化。例如,无需手动修改模板中的对象,使用合并数据功能便可快速、准确地为不同的输出表面生成数以百个的模板变化。同样,您可以更改活动徽章上的参与人员姓名或者 Web 横幅和明信片上的各种图像,而无需重新创建图稿。只需创建一个设计模板,然后从数据源文件中导入名称或图像即可快速生成变化。

使用“变量”面板为不同项目(例如可打印海报、Web 横幅和活动徽章)创建设计模板的自定义变化。

前提条件

要合并数据,所有您需要的只是一个数据源文件和一个目标文档。 

  • 数据源文件中包含的信息在目标文档的各个迭代中均不一样,例如套用信函收信人的姓名、照片及地址。数据源文件可以是逗号分隔的文件 (.csv),也可以是可扩展标记语言文件 (.xml)。
  • 目标文档是一个 Illustrator 文档,其中包含用作模板的基础图稿。该文档可包含数据字段占位符,并且其中的项目在每个反覆合并的文档中均保持相同。

访问合并数据功能

数据合并功能可从 Illustrator 中的“变量”面板(窗口 > 变量)中访问。文档中每个变量的类型和名称均列在面板中。如果变量绑定到一个对象,则“对象”列将显示绑定对象在“图层”面板中显示的名称。单击标题栏中的项目可对行进行排序:按照变量名称、对象名称或变量类型。

“变量”面板
A. 数据组 B. 面板菜单 C. 在数据组之间切换 D. 绑定对象的名称 E. 变量名称 F. 变量类型 G. 锁定变量 H. 建立动态对象 I. 建立动态可视性 J. 取消绑定变量 K. 创建变量 L. 删除变量 

合并数据的快速步骤

  1. 创建一个 Illustrator 文档以用作模板。
  2. 设置 CSV 或 XML 格式的数据源文件。有关更多信息,请参阅准备数据源文件。
  3. 在 Illustrator 中使用“变量”面板导入数据源文件。有关更多信息,请参阅导入数据源文件。
  4. 将变量绑定到模板中的对象。有关更多信息,请参阅将变量绑定到对象。
  5. 在导出所有文件之前,请使用每个数据组预览文档。有关更多信息,请参阅使用每个数据组预览文档。
  6. 在 Illustrator 中使用“动作”面板从数据中导出一批文件。有关更多信息,请参阅使用“动作”面板导出文件。

准备数据源文件

数据源文件应以逗号分隔 (.csv) 或可扩展标记语言 (.xml) 格式存储。

设置 CSV 源文件

在逗号分隔 (.csv) 文件中,记录是用分段标记分隔的,字段则是用逗号或制表符分隔的。数据源文件中还可能包含指向磁盘上的图像的文本或路径。在导入 CSV 文件之前,请执行以下操作以使 Illustrator 识别变量类型。

  1. 打开电子表格。
  2. 在电子表格的第一行中指定数据字段名称。然后,执行以下操作:

    • 在数据字段名称的开头,键入“at”符号 (@),以插入指向图像文件的文本或路径。只需在第一行中键入 @ 符号;后面的行应当包含图像路径。
    • 同样,在数据字段名称的开头,为图表键入“百分比”符号 (%),为可视性键入“哈希标签”符号 (#)。

    注意:

    • 电子表格中的数据字段名称不能包含空格。例如,您可以将数据字段的名称指定为 Company_Name,而不能用 Company Name。
    • 同样,引用图像和图表文件的路径也不能包含任何空格。例如,图像文件的路径应为 C:\Photos\BillTucker,而不能用 C:\Photos\Bill Tucker。
    • 与数据源文件关联的所有图表文件都应存储为逗号分隔 (.csv) 文件。
    • 如果在字段的开头键入 @ 符号后收到错误信息,请在 @ 符号前键入撇号 (')(例如 '@Photos)来启用该函数。某些应用程序(例如 Microsoft Excel)将 @ 符号保留给其他函数使用。

    (Windows) 数据源文件中的图像和图表引用示例

    名称Age@Photos%图表
    Bill Tucker36C:\Photos\BillTucker.jpgC:\Photos\BillTucker.csv
    Dat Nguyen53C:\MyDocuments\dat.jpgC:\MyDocuments\dat.csv
    Maria Ruiz26C:\Photos\Ruiz.jpgC:\Photos\Ruiz.csv

    (macOS) 数据源文件中的图像和图表引用示例

    名称Age@Photos%图表
    Bill Tucker36/Users/photos/BillTucker.jpg
    /Users/photos/BillTucker.csv
    Dat Nguyen53/Users/family/photos/dat.jpg
    /Users/family/photos/dat.csv
    Maria Ruiz26/Users/alpha/photos/Ruiz.jpg/Users/alpha/photos/Ruiz.csv
  3. 在电子表格中输入您的数据。
  4. 执行下列操作之一:

    • 将使用最新版本 Microsoft Excel(2016 版)创建的电子表格存储为以下文件格式:
      • CSV(逗号分隔)(*.csv)
      • CSV (MS-DOS) (*.csv)
    • 将使用 Apple Numbers 创建的电子表格存储为采用 Unicode (UTF-8) 编码的 CSV 格式。

    注意:当前在 Illustrator 中支持用上述格式导出的 CSV 文件。数据合并不支持其他 CSV 文件格式,例如 Macintosh 逗号分隔 (.csv) 文件。

准备 XML 文件

  1. 在文档中定义一个变量。有关详细信息,请参阅将变量绑定到对象。
  2. 单击“变量”面板中的“捕捉数据组”按钮 ()。或者,从“变量”面板菜单中选择捕捉数据组。
  3. 创建所需数量的数据组后,请从“变量”面板菜单中选择存储变量库,以将数据组存储为 XML 文件。指定文件名和位置,并单击存储。

    将在 Illustrator 中创建的变量导出为 XML 文件
  4. 现在,请使用诸如 Notepad++ (Windows) 或 TextWrangler (macOS) 的文本编辑应用程序编辑 XML 文件,以便将数据组包含在此文件中。

    示例:使用任意文本编辑应用程序编辑 XML 文件
    A. 替换图像路径。 B. 替换文本字符串。 
  5. 要在 Illustrator 中导入 XML 文件,请从“变量”面板菜单中选择载入变量库。选择 XML 文件并单击打开。

    将变量导入 Illustrator

导入数据源文件

要将变量绑定到所需的数据,请在“变量”面板中导入数据源。一个文档只能选择一个数据源文件。

  1. 选择窗口 > 变量。
  2. 在“变量”面板中,单击导入。

    使用“变量”面板导入数据源文件
  3. 在“载入变量库”对话框中,选择一个 CSV 或 XML 格式的数据源文件,然后单击打开。

    选择 CSV 或 XML 数据源文件
  4. (可选)您可以在此之后编辑、重命名或删除数据组,方法是先从“数据组”下拉菜单中选择一个数据组,然后编辑其选项。

    • 要在数据组之间切换,请从“变量”面板中的“数据组”列表中选择一个数据组。或者,单击“上一数据组”按钮 () 或“下一数据组”按钮 ()。
    • 要将画板上的数据应用于当前数据组,请从“变量”面板菜单中选择更新数据组。
    • 要重命名数据组,请直接在“数据组”文本框中编辑文本。或者,双击数据组字样(位于“数据组”文本框左侧),输入新的名称,然后单击确定。
    • 要删除数据组,请单击“删除”图标。或者,从“变量”面板菜单中选择删除数据组。

将变量绑定到对象

使用变量定义模板中要更改的元素。您可以定义以下四种类型的变量:“可视性”变量、“文本字符串”变量、“链接的文件”变量和“图表数据”变量。变量类型指示对象的哪些属性是可变(动态)的。文档中每个变量的类型和名称均列在面板中。如果变量已绑定到对象,则“对象”列将显示绑定的对象在“图层”面板中显示的名称。

变量类型指示变量类型的图标
定义
“可视性”变量显示或隐藏图稿。
“文本字符串”变量替换文本字符串。
“链接的文件”变量使用其他文件中的对象替换画板中的对象。
“图表数据”变量替换图表中的值。
“无类型”(未绑定)变量未绑定到任何对象。

要在 Illustrator 中定义变量,请执行以下操作:

  1. 选择一个对象。
  2. 在“变量”面板(窗口 > 变量)中,选择要与该对象绑定的变量。
  3. 要将对象与变量绑定,请执行下列操作之一:

    • 单击“建立动态对象”() 按钮。
    • 从面板菜单中选择建立动态对象。

要创建变量而不将其绑定到对象,请执行以下操作:

  1. 单击“变量”面板中的“新建变量”按钮 (),或从面板菜单中选择新建变量。
  2. 要随后将对象绑定到该变量,请选择相应的对象和变量,然后单击“建立动态可视性”按钮 () 或“建立动态对象”按钮 ()。或者,从面板菜单中选择“建立动态可视性”或“建立动态对象”选项。

处理变量

使用“变量”面板,可以编辑变量的名称或类型,取消绑定变量以及锁定变量。

取消绑定变量操作会断开变量与其对象之间的链接。锁定变量可防止创建变量、删除变量和编辑变量选项。但是,可以对锁定的变量绑定对象或取消绑定对象。

更改变量的名称和类型

  1. 双击“变量”面板中的变量。或者,在“变量”面板中选择该变量,然后从“变量”面板菜单中选择变量选项。

取消绑定变量

  1. 单击“变量”面板中的“取消绑定变量”按钮 (),或从“变量”面板菜单中选择取消绑定变量。

锁定或解锁文档中的所有变量

  1. 单击“变量”面板中的“锁定变量”/“解锁变量”按钮

删除变量

删除一个变量会将该变量从“变量”面板上去除。如果删除一个与某对象绑定的变量,则该对象变为静态(除非该对象还与另一类型的变量有绑定)。

  1. 选择要删除的变量。
  2. 执行下列操作之一:

    • 单击“变量”面板中的“删除变量”图标 (),或从“变量”面板菜单中选择删除变量。
    • 若要不经确认即可删除变量,请将变量拖至“删除变量”按钮 () 上。

编辑动态对象

您可以通过编辑变量所绑定到的对象来更改与该变量关联的数据。例如,如果您正在处理一个可视性变量,则可以在“图层”面板中更改该对象的可视性状态。通过编辑动态对象,您可以创建多个数据组以在模板中使用。

  1. 在画板上选择一个动态对象,或执行下列操作之一来自动选择一个动态对象:

    • 请按住 Alt 键 (Windows) 或 Option 键 (Mac OS) 并单击“变量”面板中的某个变量。
    • 在“变量”面板中选择一个变量,然后从“变量”面板菜单中选择选择绑定对象。
    • 要选择所有动态对象,请从“变量”面板菜单中选择“选择所有绑定对象”。
  2. 按以下方法编辑与对象相关联的数据:

    • 对于文本,请编辑画板上的文本字符串。
    • 对于链接的文件,请使用“链接”面板或文件 > 置入命令替换图像。
    • 对于图表,请在“图表数据”对话框中编辑数据。
    • 对于所有具有动态可视性的对象,请在“图层”面板中更改对象的可视性状态。

使用 XML ID 标识动态对象

“变量”面板显示动态对象在“图层”面板中显示的名称。如果以 SVG 格式存储模板以供其他 Adobe 产品使用,那么这些对象的名称必须遵循 XML 的命名规则。例如,XML 的名称必须以字母、下划线或冒号开始,并且不能包含空格。

Illustrator 为每个创建的动态对象自动指定一个有效的 XML ID。要查看、编辑和导出使用 XML ID 的对象名称,请选择“编辑”>“首选项”>“单位”(Windows) 或“Illustrator”>“首选项”>“单位”(Mac OS),然后选择“XML ID”。

使用每个数据组预览文档

要查看最终图形的外观,可以先进行预览,然后再导出所有文件。使用“变量”面板中“数据组”旁边的箭头键,可在文档中导航并预览所需的数据组。

使用“动作”面板导出文件

在定义变量及一个或多个数据组后,可按批处理模式使用数据组值输出图稿。执行以下操作:

  1. 使用“动作”面板(窗口 > 动作)记录一个采用所需格式存储文档的动作。有关详细信息,请参阅动作的自动化。
  2. 从“动作”面板菜单中选择批处理,然后选择您在上一步骤中创建的动作。
  3. 对于“源”,选择数据组,以对当前文件中的每个数据组播放该动作。
  4. 对于“目标”,指定要对已处理的文件执行的操作。您可以保持文件打开而不存储更改(“无”),在文件的当前位置存储并关闭文件(“存储并关闭”),或将文件存储到其他位置(“文件夹”)。

    根据所选的“目标”选项,可以设置其他用于存储文件的选项。有关更多信息,请参阅对一批文件播放动作。

  5. 单击确定。

存储模板以合并数据

在 Illustrator 文档中定义变量就是在为合并数据创建模板。您可以将模板存储为 SVG 格式以供其他 Adobe 产品使用,如 Adobe® Graphics Server。例如,使用 Adobe Graphics Server 的开发人员可以将 SVG 文件中的变量直接绑定到数据库或其他数据源。

  1. 选择文件 > 存储为,输入文件名,选择 SVG 作为文件格式,然后单击存储。
  2. 单击更多选项,然后选择包含 Adobe Graphics Server 数据。此选项可将进行变量替换所需的所有信息包含在 SVG 文件中。
  3. 单击确定。

导入 CSV 文件时遇到问题?

如果您在上载 CSV 数据源文件时,收到错误“输入变量库 无效”,请确认以下方面:

  • 您的 CSV 文件不是空文件。
  • 您使用最新版本 Microsoft Excel 创建的电子表格已存储为 CSV(逗号分隔)(*.csv) 或 CSV (MS-DOS) (*.csv),使用 Apple Numbers 创建的电子表格已存储为采用 Unicode (UTF-8) 编码的 CSV 格式。数据合并不支持使用任何其他文件格式存储的数据源文件,例如 Macintosh 逗号分隔 (*.csv) 文件。
  • 所有的列都有数据字段名称。例如,如果您的数据源文件中有一列包含数据,但没有数据字段名称,则 Illustrator 会显示错误消息。
  • 数据源文件中的任何已填写列之间没有隔着空白列。例如,如果数据源文件中的 B 列和 D 列包含数据,但 C 列空白,则 Illustrator 会显示错误消息。
示例:为数据合并设置 CSV 源文件时出错
A. 某个列缺少数据字段名称 B. 已填写的列之间存在空白列 
  • 电子表格中的数据字段名称不包含任何空格。
  • 在源文件中引用图像和图表文件的路径不包含任何空格。
  • 与数据源文件关联的图表文件已存储为逗号分隔 (.csv) 文件。

更多此类内容

  • 对一批文件播放动作
  • 输入图表数据
  • 链接面板概述
  • 图层面板概述