以编程方式将数据插入InDesign文档

are*_*555 6 ruby adobe adobe-indesign

我必须使用Adobe InDesign来创建文档.我们基本上需要在整个文档中包含一些需要填写的变量(公司名称,项目名称等).

我想知道是否有办法采用exisitng模板,并且可能使用我熟悉的语言(Ruby,Python等)逐步填充这些模板.我试图使用文本编辑器打开Adobe InDesign文件 - 但是当我使用Notepad ++进行修改然后在InDesign中打开文件时,它会告诉我文件已损坏.

如果您有任何洞察力,以编程方式构建InDesign文档或了解任何非常感谢的教程.

PS.我试图查看Adobe的ExtendScript,但没有找到适用于InDesign的文档.

谢谢您的帮助!

Mat*_*tsT 2

在 Ruby/Python 中没有(合法)方法可以做到这一点。理论上,可以使用任何语言直接编辑 InDesign 文档,但是:

  1. 这远不像仅仅进行一些文本修改那么容易,您必须了解更多有关格式的信息,并且
  2. 这直接违反了 InDesign 许可协议,这意味着如果 Adob​​e 发现,您可能会面临法律诉讼。

ExtendScript 非常适合做这样的小事情。如果您打开 ExtendScript Toolkit 并将目标设置为 InDesign,您可以轻松浏览和搜索整个 API。对简单文本变量进行搜索/替换并不难。

另一种方法是将文档导出为.idml在 InDesign 之外编辑更容易、更合法的语言。

  • 我使用了 .idml 方法 - 它本质上是 xml 文件和文件的 zip 文件。在里面你会发现一个名为“designmap.xml”的文件,该文件是 InDesign 定义文本变量的地方。我使用 Nokogiri gem 来遍历 html 并更新我想要的文本变量的值(基于其名称属性)。我现在正在努力将此脚本与谷歌文档连接起来。希望这可以帮助其他有类似情况的人。 (3认同)