在可变设计中引入了一个很重要的概念,就是动态文本。可以在文本中任意地方顶一个文本单元作为动态文本,这个动态文本可以有多个状态,不同状态文本格式和内容可以完全不同,数据合并时具体显示哪一个状态由条件运算得出。
双击标签面板上的动态文本
标签即可创建,动态文本的创建有两种形式,当光标在插入状态没有选中任何文本时,会插入默认文本,之后你可以修改为你想要的文本。另一种形式是在有文本被选中时,直接将此段文本转换为动态文本。
动态文本的引入有着多重意义。
1. 简化数据设计
例如, 在传统可变数据设计中,如果你想某段文本可变,你就必须得把它作为一个数据列做到数据中,即使这个新的数据列只是一个衍生数据。
例如一个数据源,包含一列常见的“性别”,取值为“男”或“女”,如果你根据此数据源做一批邀请函,你可能需要增加一列衍生数据,就是“称呼”,取值为“先生”或者“女士”,因为这个数据列的取值依赖于“性别”列,所以可以将其称之为衍生数据,也就意味着在做一个设计前,你很多时候需要对客户提供的原始数据进行再加工,利用Excel提供的公式将设计需要的衍生数据做出来,如果设计中有什么新的想法,可能需要重新设计数据,或是客户更新了原始数据,但原始数据并不包含你增加的衍生数据列,那就每次都需要自己重新修改一遍。
动态文本可以作为数据域的衍生数据,不需要出现在数据源,而是直接把衍生数据的取值设计为可变文本的两个状态,让“性别”标签作为条件来控制动态文本显示“先生”或者是“女士”。
2. 精确控制文本格式
数据源总是会以纯文本来存储,不会带有任何格式。
假如数据源是一批商品,有不同的价格,价格低于200时,描述为惊爆价,低于100时,描述为超低价,同样,这个价格描述也是一个衍生数据。
在设计稿里面,可能会根据价格描述的特征为其设计不同的文本格式,这个文本格式是精确到字的,例如超低价,可能会根据语义设计为三个字字号从大到小的阶梯字号变化,当价格描述作为数据域时,数据替换后还是不能达到你的设计目的,替换你的文本只会沿用第一个字的字体格式。
可见,即使是把价格描述作为一个数据列直接做到数据里面,也有可能达不到想要的效果,但使用动态文本你的话,一切都迎刃而解了。
3. 嵌套文本。
在可变设计中,常会遇到这种情况,假如是一个产品数据,某些型号包含某个参数或者描述,而另外一些型号却不会包含,大多数可变软件排版出来是下面这个样子的,产品科技字段为空的时候,字段本身不显示了,但其他配套文本却依然还是存在。
产品1
产品名称:激光剑
产品型号:A3567
产品尺寸:L 450 mm
产品科技:天顶星锻造工艺
产品2
产品名称:九齿钉耙
产品型号:C4236
产品尺寸:L 1550 mm
产品科技:
动态文本支持嵌套,一个动态文本域范围内,可以插入其他文本域或者数据域。嵌套文本域可以解决很多特殊的需求,但同时也会让逻辑变得复杂,如果你逻辑不好的话不要随便使用,但遇到这种情况,嵌套文本是必须使用的,因为它让问题变得简单:
选中产品科技行加上上一行最后的回车符,双击标签面板上的动态文本将选中文本段转换为动态文本,为此动态文本添加一个隐藏状态,设置策略为 “产品科技 = empty”时激活隐藏状态,最终结果会如下所示。
产品2
产品名称:九齿钉耙
产品型号:C4236
产品尺寸:L 1550 mm