7

我必须使用 Adob​​e InDesign 来创建文档。我们基本上需要在整个文档中有几个变量(公司名称、项目名称等)需要填写。

我想知道是否有办法获取现有模板,并可能使用我熟悉的语言(Ruby、Python 等)以编程方式填充这些模板。我曾尝试使用文本编辑器打开 Adob​​e InDesign 文件 - 但是当我使用 Notepad++ 进行修改然后在 InDesign 中打开文件时,它告诉我文件已损坏。

如果您对以编程方式构建 InDesign 文档有任何见解或知道任何教程,将不胜感激。

PS 我尝试查看 Adob​​e 的 ExtendScript,但没有找到太多适用于 InDesign 的文档。

谢谢您的帮助!

4

3 回答 3

2

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

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

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

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

于 2011-09-13T12:09:31.487 回答
1

您可以使用 Indesign 的 DataMerge 功能 --> https://helpx.adobe.com/indesign/using/data-merge.html

我认为这正是您正在寻找的。

或者您可以使用 Indesign API。看看 Extendscript-Toolkit,尤其是 ObjectModell-Viewer。

于 2017-07-07T15:31:32.997 回答
0

您需要将 .indd 文件转换为 .idml 并解压缩。在/Stories/Story_*.idml 中,您可能会找到所有文本变量。如果没有 Adob​​e 产品,就没有简单的方法来更改 .indd 中的文本变量。

于 2016-09-26T08:30:40.710 回答