我现在有点问题。我正在尝试使用indesign(cs3)和xml。
基本上我有一个模板,它有1个主dps,两个页面都有相同的数据(字段1-5)但是一个是左对齐,一个是右 - 因此段落样式略有不同。我想要做的是导入xml并使indesign将来自各个节点的数据流转到许多页面。
例如xml格式:
root
day
field1
field2
field3
field4
field5
day
field1
field2
field3
field4
field5
day
...
我几乎可以通过标记母版页上的框架,然后创建页面并导入xml来完成这项工作,但是它只会将前2个节点流入页面中,以获得所有节点的总计数。
我也可以通过从未标记的母版创建页面然后使用field1-5标记标记帧然后导入xml来使其工作。这会填充第一页,但是我找不到让其余数据流入新页面的方法......
我错过了什么吗?我是一个完全笨蛋吗?如果有人能提供任何帮助,我们将不胜感激......
答案 0 :(得分:5)
我意识到这是一个较老的问题,但我相信我在这里有一些见解。
InDesign将根据XML文件的大小创建框架和页面。
以下是...... 我正在引用CS6来获得这个答案,但是我已经在CS3开始这么多年了。
确保您的Indd模板至少有2页。这些可以是镜像左右布局的母版页。页面必须具有相同的主文本框架。创建新文档时,这是一个选项。
像往常一样导入XML。请务必按照XML工作流程选择所需的任何选项。
将XML放入主文本框架中。由于我通常会传输整个文档,因此我选择根元素并拖动到框架,但这将适用于您选择的任何节点。
如果XML的内容大于框架可以支持的内容,则在框架右下角的方框中会出现红色加号(+)。单击加号,您将看到一个包含纸质图标和XML内容表示的箭头。
转到第2页的文本框。如果您只是在框架内单击,InDesign将流动尽可能多的内容以适应该框架,您需要通过添加页面和放置内容再次重复该过程到最后。
但是,如果在放置内容时按住SHIFT键,纸张图标将变为旋涡箭头。放置后,InDesign会将内容自动流向左右页面,直到XML选择结束。如果您有母版页,它将在整个过程中使用这些页面。
如果您的标签映射到样式,则样式将显示在页面上。
关于将标记映射到样式的一个注意事项...执行标记/样式映射之前以放置内容。否则,InDesign将需要重绘页面。这是一项占用大量内存的操作,可能会因InDesign文件大小而导致InDesign崩溃。如果有的话,比放置之前映射样式需要更长的时间。
我希望这有助于某人。我没有看到Adobe或任何其他论坛记录的此操作。 InDesign中有许多未记录的操作和功能,特别是关于XML。
答案 1 :(得分:1)
您需要确保在故事编辑器中,代码会准确反映根目录下XML
中的代码。
在您的示例中,这可能涉及在day
,field1
等标记周围添加“field2
”标记。
然后,当您使用克隆重复文本元素时,将包含所有日期。
答案 2 :(得分:0)
引用“Adobe InDesign和XML设计指南”:
...如果没有脚本或第三方插件,我们无法(我们知道)让InDesign自动从结构化布局创建多个页面,如第4课第4课中的步骤4所示。可以创建所有六张卡片,而不是像我们在其他方法中那样自动生成。
虽然它基于CS3,但CS4或CS5中可能有一个选项。我想这意味着唯一的选择是使用IDML。这似乎相当复杂,但它可能会完成工作。
来自"Adobe InDesign CS3 and XML:A Technical Reference"
克隆重复的文字元素。选择此选项可在当前文件中复制多个元素的格式。
InDesign允许您克隆重复文本元素的布局。您可以创建单个格式设置实例(在此示例中为配方),然后重复使用该布局为所有其他内容创建页面。
......这表明可以做到。
但是又来自"Create placeholders for repeating content"
然而,一个关键点是Adobe®InDesign®CS2永远不会创建新框架或添加页面以适应新的XML元素。
那么,最终的判决是什么?仔细阅读和重读所有内容,我得到的印象是这就是他们所说的:
因此,如果真正想要实例化多个页面,我认为除了将您的设计导出到IDML并拥有某种处理器modify the contents of the IDML files之外别无选择。
答案 3 :(得分:0)
上述答案并非完全正确。你必须阅读整本书才能获得正确的信息。可以创建XML数据并将其传输到多个页面。上面的引用来自错误的部分。它正在讨论使用本书第4章中描述的“框架方法”。事实上,使用“流程方法”很容易做到你想要的。
如果flow方法不能按您希望的方式工作,您可以使用XSLT构建所需的方法。
答案 4 :(得分:0)
还有一个建议,不要在母版页上标记任何内容。如果您标记母版页,则此处只能使用一个数据元素。它将出现在每个页面上。
相反,只标记正文页面上的框架和占位符。数据可以从克隆元素流出,也可以一次流出。
“A设计师指南”中的Adobe InDesign和XML一书中解释了您需要的一切。
如果要构建XML表,最好的方法是使用XSLT文件来构建所需的结构。
答案 5 :(得分:0)
引用:“然而,一个关键点是Adobe®InDesign®CS2永远不会创建新的框架或添加页面来容纳新的XML元素。”是错的。如果正确设置布局,InDesign CS2 + CAN和DOES会创建新的框架和页面。 CS不会克隆元素或布局,但CS2可以并且确实如此。
InDesign不会创建未链接或独立的帧。帧将链接在一起或内联。
由于除非将它们打开,否则看不到帧边缘,如果帧是内联的,它会有什么不同?您可以使用段落“保留”选项创建它们并将它们传递到新页面。
吉姆
答案 6 :(得分:0)
在Indesign中转到
Preferences>Type>Smart Text Reflow
并选择勾选 放置复制文本时会自动流向新页面