1

我现在有点问题。我正在尝试使用 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 来使其工作。这填充了第一页,但是我找不到使其余数据流入新页面的方法...

我错过了什么吗?我是一个彻头彻尾的笨蛋吗?如果有人可以提供任何帮助,将不胜感激......

4

7 回答 7

5

我意识到这是一个较老的问题,但我相信我在这里有一些见识。

InDesign 将根据 XML 文件的大小创建框架和页面。

以下是如何...我在此答案中引用了 CS6,但从 CS3 开始,我已经这样做了多年。

  1. 确保您的 Indd 模板至少有 2 页。这些可以是镜像左右布局的母版页。页面必须具有相同的主文本框架。这是您创建新文档时的一个选项。

  2. 像往常一样导入您的 XML。请务必勾选每个 XML 工作流程所需的任何选项。

  3. 将 XML 放入主文本框架中。由于我通常流动整个文档,我选择根元素并拖动到框架,但这将适用于您选择的任何节点。

  4. 如果 XML 的内容超出框架所能支持的范围,则框架右下方的方框中会出现一个红色加号 (+)。单击加号,您将看到一个箭头,其中包含一个纸质图标和 XML 内容的表示。

  5. 转到第 2 页上的文本框架。如果您只是在框架内单击,InDesign 将流动尽可能多的内容以适合该框架,您需要通过添加页面并将内容放置到末尾来再次重复该过程。

  6. 但是,如果您在放置内容时按住 SHIFT,则纸张图标将变为漩涡状箭头。放置后,InDesign 会将内容自动排列到左右页面,直到 XML 选择结束。如果您有母版页,它将在整个过程中将这些页面用于左侧和右侧。

如果您将标签映射到样式,则样式将显示在页面上。

关于将标签映射到样式的注意事项...在放置内容之前执行标签/样式映射。否则,InDesign 将需要重新绘制页面。这是一项占用大量内存的操作,并且可能会使 InDesign 崩溃,具体取决于您的文件大小。如果有的话,这将比在放置之前映射样式花费的时间要长得多。

我希望这可以帮助别人。我还没有看到 Adob​​e 或任何其他论坛记录的此操作。InDesign 中有许多未记录的操作和功能,尤其是关于 XML。

于 2013-01-18T16:57:35.033 回答
1

您需要确保在您的故事编辑器中,标签准确地反映XML了根目录下的标签。

在您的示例中,这可能涉及在您的 , 等标签周围添加一个 ' '标签dayfield1field2

然后,当您使用克隆重复文本元素时,将包括所有天数。

于 2011-11-08T14:33:52.723 回答
0

还有一个建议,不要在母版页上标记任何内容。如果您标记母版页,则此处只能使用一个数据元素。它会出现在每一页上。

相反,只标记正文页面上的框架和占位符。数据可以从克隆的元素中流出,也可以一次全部流出。

Adobe InDesign 和 XML 设计师指南一书中解释了您需要的一切。

如果要构建 XML 表,最好的方法是使用 XSLT 文件来构建所需的结构。

于 2011-11-14T15:21:13.320 回答
0

引用:“然而,关键点是 Adob​​e® InDesign® CS2 永远不会创建新框架或添加页面来容纳新的 XML 元素。” 是错的。如果您正确设置布局,InDesign CS2+ 可以并且确实会创建新的框架和页面。CS 不会克隆元素或布局,但 CS2 可以而且可以。

InDesign 不会创建未链接的或独立的框架。框架将链接在一起或内联。

由于除非打开它们,否则您看不到框架边缘,如果框架是内联的,它有什么区别?您可以使用段落“保留”选项创建它们并将它们流到新页面。

吉姆

于 2013-01-14T02:07:36.597 回答
0

上面的答案并不完全正确。您必须阅读整本书才能获得正确的信息。可以创建 XML 数据并将其传输到多个页面。上面的引用来自错误的部分。它正在谈论使用本书第4章中描述的“框架方法”。事实上,使用“flow-method”很容易做你想做的事。

如果流方法不能按照您想要的方式工作,您可以使用 XSLT 构建您想要的方法。

于 2011-11-14T14:58:14.353 回答
0

引自“Adobe InDesign 和 XML 设计师指南”:

... 如果没有脚本或第三方插件,就没有办法(我们知道)让 InDesign 自动从结构化布局创建多个页面,因为它出现在第 4-17 课的第 4 步之后。可以创建所有六张卡片,只是不像您在我们的其他方法中所做的那样自动创建。

不过它是基于 CS3 的,所以在 CS4 或 CS5 中可能会有一个选项。我想这意味着唯一的选择是使用 IDML。这看起来相当复杂,但它可能会完成工作。

引自“Adobe InDesign CS3 和 XML:技术参考”

克隆重复的文本元素。选择此选项可复制当前文件中多个元素的格式。

InDesign 允许您克隆用于重复文本元素的布局。您可以创建单个格式化实例(在此示例中,用于配方),然后重用该布局来为所有其他内容创建页面。

...这表明它可以做到。

但话又说回来,来自“为重复内容创建占位符”

然而,一个关键点是 Adob​​e® InDesign® CS2 永远不会创建新框架或添加页面来容纳新的 XML 元素。

那么,最终的判决是什么?仔细阅读和重读所有内容,我觉得这就是他们所说的:

  • 出现某个元素时,不可能自动复制您的设计(新页面)。
  • 但是,如果您正确地排序标签,那么 - 使用样式 - 您可以使 XML 文档的内容浮动到一个文本框架中,这具有使您的 XML 文档的多个部分以类似的方式布局的效果。过去。
  • 但是,为了确保所有文本浮动到该文本框架中并且标签被反复使用,您需要在导入时选中“克隆重复文本元素”选项。否则(至少这是我得到的印象;我自己还没有真正尝试过)它只会应用标签第一次出现的布局,然后忽略所有连续出现。

所以,如果你真的想实例化多个页面,我认为除了将你的设计导出到 IDML 并让某种处理器修改 IDML 文件的内容之外别无选择

于 2010-08-18T09:17:24.170 回答
0

在 Indesign 中转到

Preferences>Type>Smart Text Reflow 

并选择勾选放置复制文本时将自动流入新页面

于 2014-08-06T14:30:42.403 回答