使用 InDesign 中的内置脚本支持,您几乎可以自动化任何事情。在 InDesign GUI 中,您可以将脚本标签分配给 InDesign 文档中的各种元素,例如文本框架。例如,如果您想替换文本框架中的某些文本,您可以在 Javascript 中应用类似这样的内容(CS4 及以下,请参见下面的注释):
var document = app.open(File("path to your InDesign file"), false);
var textFrame = document.pageItems.item("your script label");
var story = textFrame.parentStory;
story.contents = "your new content"
要创建 PDF,您可以执行以下操作:
var pdfFile = new File("path to your pdf");
document.exportFile(ExportFormat.PDF_TYPE, pdfFile);
这只是您可以做的一些示例,希望对您有所帮助。如果您不知道如何在 InDesign 中安装和运行脚本,这篇博文将解释该过程。您可以在此处找到很好的在线脚本参考。据我了解,您希望将脚本作为批处理运行。如果是这种情况,我建议您查看 InDesign Server。它基本上是 InDesign 的桌面版本,但没有 GUI 和简单的 Web 服务界面。它还作为 Windows 服务(或其他平台上的等效服务)运行。
注意:从 CS5 开始,您不能再通过其脚本标签来识别文本框架,如上所示。这里有一些关于它的讨论。最好的替代方法是使用 itemByName(name) 代替 item,name 是图层面板上的名称。这可以通过在图层面板中缓慢双击项目在GUI 中进行更改。或者,此解决方法将每个文本框架的名称设置为与其脚本标签相同。然后,您所要做的就是更改文本框架的内容:
document.textFrames.itemByName("shmullus").contents = "The Doctor";