在 Illustrator 中通过模板和变量合并数据以创建数据驱动图形
在 Illustrator 中,使用“变量”面板,可通过将数据源文件(CSV 或 XML 文件)与 Illustrator 文档合并,轻松地创建图稿的多个变化。例如,无需手动修改模板中的对象,使用合并数据功能便可快速、准确地为不同的输出表面生成数以百个的模板变化。同样,您可以更改活动徽章上的参与人员姓名或者 Web 横幅和明信片上的各种图像,而无需重新创建图稿。只需创建一个设计模板,然后从数据源文件中导入名称或图像即可快速生成变化。
使用“变量”面板为不同项目(例如可打印海报、Web 横幅和活动徽章)创建设计模板的自定义变化。前提条件
要合并数据,所有您需要的只是一个数据源文件和一个目标文档。
- 数据源文件中包含的信息在目标文档的各个迭代中均不一样,例如套用信函收信人的姓名、照片及地址。数据源文件可以是逗号分隔的文件 (.csv),也可以是可扩展标记语言文件 (.xml)。
- 目标文档是一个 Illustrator 文档,其中包含用作模板的基础图稿。该文档可包含数据字段占位符,并且其中的项目在每个反覆合并的文档中均保持相同。
访问合并数据功能
数据合并功能可从 Illustrator 中的“变量”面板(窗口 > 变量)中访问。文档中每个变量的类型和名称均列在面板中。如果变量绑定到一个对象,则“对象”列将显示绑定对象在“图层”面板中显示的名称。单击标题栏中的项目可对行进行排序:按照变量名称、对象名称或变量类型。
“变量”面板A. 数据组 B. 面板菜单 C. 在数据组之间切换 D. 绑定对象的名称 E. 变量名称 F. 变量类型 G. 锁定变量 H. 建立动态对象 I. 建立动态可视性 J. 取消绑定变量 K. 创建变量 L. 删除变量
合并数据的快速步骤
- 创建一个 Illustrator 文档以用作模板。
- 设置 CSV 或 XML 格式的数据源文件。有关更多信息,请参阅准备数据源文件。
- 在 Illustrator 中使用“变量”面板导入数据源文件。有关更多信息,请参阅导入数据源文件。
- 将变量绑定到模板中的对象。有关更多信息,请参阅将变量绑定到对象。
- 在导出所有文件之前,请使用每个数据组预览文档。有关更多信息,请参阅使用每个数据组预览文档。
- 在 Illustrator 中使用“动作”面板从数据中导出一批文件。有关更多信息,请参阅使用“动作”面板导出文件。
准备数据源文件
数据源文件应以逗号分隔 (.csv) 或可扩展标记语言 (.xml) 格式存储。
设置 CSV 源文件
在逗号分隔 (.csv) 文件中,记录是用分段标记分隔的,字段则是用逗号或制表符分隔的。数据源文件中还可能包含指向磁盘上的图像的文本或路径。在导入 CSV 文件之前,请执行以下操作以使 Illustrator 识别变量类型。
- 打开电子表格。
- 在电子表格的第一行中指定数据字段名称。然后,执行以下操作:
- 在数据字段名称的开头,键入“at”符号 (@),以插入指向图像文件的文本或路径。只需在第一行中键入 @ 符号;后面的行应当包含图像路径。
- 同样,在数据字段名称的开头,为图表键入“百分比”符号 (%),为可视性键入“哈希标签”符号 (#)。
注意:
- 电子表格中的数据字段名称不能包含空格。例如,您可以将数据字段的名称指定为 Company_Name,而不能用 Company Name。
- 同样,引用图像和图表文件的路径也不能包含任何空格。例如,图像文件的路径应为 C:\Photos\BillTucker,而不能用 C:\Photos\Bill Tucker。
- 与数据源文件关联的所有图表文件都应存储为逗号分隔 (.csv) 文件。
- 如果在字段的开头键入 @ 符号后收到错误信息,请在 @ 符号前键入撇号 (')(例如 '@Photos)来启用该函数。某些应用程序(例如 Microsoft Excel)将 @ 符号保留给其他函数使用。
(Windows) 数据源文件中的图像和图表引用示例
名称 Age @Photos %图表 Bill Tucker 36 C:\Photos\BillTucker.jpg C:\Photos\BillTucker.csv Dat Nguyen 53 C:\MyDocuments\dat.jpg C:\MyDocuments\dat.csv Maria Ruiz 26 C:\Photos\Ruiz.jpg C:\Photos\Ruiz.csv (macOS) 数据源文件中的图像和图表引用示例
名称 Age @Photos %图表 Bill Tucker 36 /Users/photos/BillTucker.jpg /Users/photos/BillTucker.csv Dat Nguyen 53 /Users/family/photos/dat.jpg /Users/family/photos/dat.csv Maria Ruiz 26 /Users/alpha/photos/Ruiz.jpg /Users/alpha/photos/Ruiz.csv - 在电子表格中输入您的数据。
- 执行下列操作之一:
- 将使用最新版本 Microsoft Excel(2016 版)创建的电子表格存储为以下文件格式:
- CSV(逗号分隔)(*.csv)
- CSV (MS-DOS) (*.csv)
- 将使用 Apple Numbers 创建的电子表格存储为采用 Unicode (UTF-8) 编码的 CSV 格式。
注意:当前在 Illustrator 中支持用上述格式导出的 CSV 文件。数据合并不支持其他 CSV 文件格式,例如 Macintosh 逗号分隔 (.csv) 文件。
- 将使用最新版本 Microsoft Excel(2016 版)创建的电子表格存储为以下文件格式:
准备 XML 文件
- 在文档中定义一个变量。有关详细信息,请参阅将变量绑定到对象。
- 单击“变量”面板中的“捕捉数据组”按钮 ()。或者,从“变量”面板菜单中选择捕捉数据组。
- 创建所需数量的数据组后,请从“变量”面板菜单中选择存储变量库,以将数据组存储为 XML 文件。指定文件名和位置,并单击存储。将在 Illustrator 中创建的变量导出为 XML 文件
- 现在,请使用诸如 Notepad++ (Windows) 或 TextWrangler (macOS) 的文本编辑应用程序编辑 XML 文件,以便将数据组包含在此文件中。示例:使用任意文本编辑应用程序编辑 XML 文件
A. 替换图像路径。 B. 替换文本字符串。 - 要在 Illustrator 中导入 XML 文件,请从“变量”面板菜单中选择载入变量库。选择 XML 文件并单击打开。将变量导入 Illustrator
导入数据源文件
要将变量绑定到所需的数据,请在“变量”面板中导入数据源。一个文档只能选择一个数据源文件。
- 选择窗口 > 变量。
- 在“变量”面板中,单击导入。
使用“变量”面板导入数据源文件 - 在“载入变量库”对话框中,选择一个 CSV 或 XML 格式的数据源文件,然后单击打开。
选择 CSV 或 XML 数据源文件 (可选)您可以在此之后编辑、重命名或删除数据组,方法是先从“数据组”下拉菜单中选择一个数据组,然后编辑其选项。
- 要在数据组之间切换,请从“变量”面板中的“数据组”列表中选择一个数据组。或者,单击“上一数据组”按钮 () 或“下一数据组”按钮 ()。
- 要将画板上的数据应用于当前数据组,请从“变量”面板菜单中选择更新数据组。
- 要重命名数据组,请直接在“数据组”文本框中编辑文本。或者,双击数据组字样(位于“数据组”文本框左侧),输入新的名称,然后单击确定。
- 要删除数据组,请单击“删除”图标。或者,从“变量”面板菜单中选择删除数据组。
将变量绑定到对象
使用变量定义模板中要更改的元素。您可以定义以下四种类型的变量:“可视性”变量、“文本字符串”变量、“链接的文件”变量和“图表数据”变量。变量类型指示对象的哪些属性是可变(动态)的。文档中每个变量的类型和名称均列在面板中。如果变量已绑定到对象,则“对象”列将显示绑定的对象在“图层”面板中显示的名称。
变量类型 | 指示变量类型的图标 | 定义 |
“可视性”变量 | 显示或隐藏图稿。 | |
“文本字符串”变量 | 替换文本字符串。 | |
“链接的文件”变量 | 使用其他文件中的对象替换画板中的对象。 | |
“图表数据”变量 | 替换图表中的值。 | |
“无类型”(未绑定)变量 | 未绑定到任何对象。 |
要在 Illustrator 中定义变量,请执行以下操作:
- 选择一个对象。
- 在“变量”面板(窗口 > 变量)中,选择要与该对象绑定的变量。
- 要将对象与变量绑定,请执行下列操作之一:
- 单击“建立动态对象”() 按钮。
- 从面板菜单中选择建立动态对象。
要创建变量而不将其绑定到对象,请执行以下操作:
- 单击“变量”面板中的“新建变量”按钮 (),或从面板菜单中选择新建变量。
- 要随后将对象绑定到该变量,请选择相应的对象和变量,然后单击“建立动态可视性”按钮 () 或“建立动态对象”按钮 ()。或者,从面板菜单中选择“建立动态可视性”或“建立动态对象”选项。
处理变量
使用“变量”面板,可以编辑变量的名称或类型,取消绑定变量以及锁定变量。
取消绑定变量操作会断开变量与其对象之间的链接。锁定变量可防止创建变量、删除变量和编辑变量选项。但是,可以对锁定的变量绑定对象或取消绑定对象。
更改变量的名称和类型
- 双击“变量”面板中的变量。或者,在“变量”面板中选择该变量,然后从“变量”面板菜单中选择变量选项。
取消绑定变量
- 单击“变量”面板中的“取消绑定变量”按钮 (),或从“变量”面板菜单中选择取消绑定变量。
锁定或解锁文档中的所有变量
- 单击“变量”面板中的“锁定变量”/“解锁变量”按钮 或 。
删除变量
删除一个变量会将该变量从“变量”面板上去除。如果删除一个与某对象绑定的变量,则该对象变为静态(除非该对象还与另一类型的变量有绑定)。
- 选择要删除的变量。
- 执行下列操作之一:
- 单击“变量”面板中的“删除变量”图标 (),或从“变量”面板菜单中选择删除变量。
- 若要不经确认即可删除变量,请将变量拖至“删除变量”按钮 () 上。
编辑动态对象
您可以通过编辑变量所绑定到的对象来更改与该变量关联的数据。例如,如果您正在处理一个可视性变量,则可以在“图层”面板中更改该对象的可视性状态。通过编辑动态对象,您可以创建多个数据组以在模板中使用。
- 在画板上选择一个动态对象,或执行下列操作之一来自动选择一个动态对象:
- 请按住 Alt 键 (Windows) 或 Option 键 (Mac OS) 并单击“变量”面板中的某个变量。
- 在“变量”面板中选择一个变量,然后从“变量”面板菜单中选择选择绑定对象。
- 要选择所有动态对象,请从“变量”面板菜单中选择“选择所有绑定对象”。
- 按以下方法编辑与对象相关联的数据:
- 对于文本,请编辑画板上的文本字符串。
- 对于链接的文件,请使用“链接”面板或文件 > 置入命令替换图像。
- 对于图表,请在“图表数据”对话框中编辑数据。
- 对于所有具有动态可视性的对象,请在“图层”面板中更改对象的可视性状态。
使用 XML ID 标识动态对象
“变量”面板显示动态对象在“图层”面板中显示的名称。如果以 SVG 格式存储模板以供其他 Adobe 产品使用,那么这些对象的名称必须遵循 XML 的命名规则。例如,XML 的名称必须以字母、下划线或冒号开始,并且不能包含空格。
Illustrator 为每个创建的动态对象自动指定一个有效的 XML ID。要查看、编辑和导出使用 XML ID 的对象名称,请选择“编辑”>“首选项”>“单位”(Windows) 或“Illustrator”>“首选项”>“单位”(Mac OS),然后选择“XML ID”。
使用每个数据组预览文档
要查看最终图形的外观,可以先进行预览,然后再导出所有文件。使用“变量”面板中“数据组”旁边的箭头键,可在文档中导航并预览所需的数据组。
使用“动作”面板导出文件
在定义变量及一个或多个数据组后,可按批处理模式使用数据组值输出图稿。执行以下操作:
- 使用“动作”面板(窗口 > 动作)记录一个采用所需格式存储文档的动作。有关详细信息,请参阅动作的自动化。
- 从“动作”面板菜单中选择批处理,然后选择您在上一步骤中创建的动作。
- 对于“源”,选择数据组,以对当前文件中的每个数据组播放该动作。
- 对于“目标”,指定要对已处理的文件执行的操作。您可以保持文件打开而不存储更改(“无”),在文件的当前位置存储并关闭文件(“存储并关闭”),或将文件存储到其他位置(“文件夹”)。
根据所选的“目标”选项,可以设置其他用于存储文件的选项。有关更多信息,请参阅对一批文件播放动作。
- 单击确定。
存储模板以合并数据
在 Illustrator 文档中定义变量就是在为合并数据创建模板。您可以将模板存储为 SVG 格式以供其他 Adobe 产品使用,如 Adobe® Graphics Server。例如,使用 Adobe Graphics Server 的开发人员可以将 SVG 文件中的变量直接绑定到数据库或其他数据源。
- 选择文件 > 存储为,输入文件名,选择 SVG 作为文件格式,然后单击存储。
- 单击更多选项,然后选择包含 Adobe Graphics Server 数据。此选项可将进行变量替换所需的所有信息包含在 SVG 文件中。
- 单击确定。
导入 CSV 文件时遇到问题?
如果您在上载 CSV 数据源文件时,收到错误“输入变量库 无效”,请确认以下方面:
- 您的 CSV 文件不是空文件。
- 您使用最新版本 Microsoft Excel 创建的电子表格已存储为 CSV(逗号分隔)(*.csv) 或 CSV (MS-DOS) (*.csv),使用 Apple Numbers 创建的电子表格已存储为采用 Unicode (UTF-8) 编码的 CSV 格式。数据合并不支持使用任何其他文件格式存储的数据源文件,例如 Macintosh 逗号分隔 (*.csv) 文件。
- 所有的列都有数据字段名称。例如,如果您的数据源文件中有一列包含数据,但没有数据字段名称,则 Illustrator 会显示错误消息。
- 数据源文件中的任何已填写列之间没有隔着空白列。例如,如果数据源文件中的 B 列和 D 列包含数据,但 C 列空白,则 Illustrator 会显示错误消息。
A. 某个列缺少数据字段名称 B. 已填写的列之间存在空白列
- 电子表格中的数据字段名称不包含任何空格。
- 在源文件中引用图像和图表文件的路径不包含任何空格。
- 与数据源文件关联的图表文件已存储为逗号分隔 (.csv) 文件。
更多此类内容
- 对一批文件播放动作
- 输入图表数据
- 链接面板概述
- 图层面板概述