在大型出版项目的中间,庞大的规模使我感到沮丧。许多截止日期即将来临,而我最大的麻烦是乏味和重复的任务。我需要掌握InDesign脚本编写的基础知识,并且正在寻找可以使我快速入门的资源或书籍。

我掌握了Java,XML和一些网络技术...但是,我不是编程专家,JavaScript对我来说是新的。 Mac / Linux(如果重要)。

忠告?提前致谢。

最佳答案

@niteshade-

旧线程在这里,但是如果您现在不很忙,请查看http://codingbat.com/。这是练习基本编程逻辑的绝佳站点。该站点上的语言是Java和Python,但是逻辑也适用于其他语言,例如Javascript和PHP。

它实际上是一个非常具有挑战性的网站,并且上面有很多问题,因此在解决一半问题之前,您可能会获得很多见识。其中一些花了我一周左右的时间来弄清楚,例如这些臭名昭著的makeBricksxyzMiddle

此外,对于InDesign好的书籍来说,肯定会获得InDesign CS5 Automation Using XML & JavaScript。顾名思义,它详细处理了XML,但同时也包括了较小版本“ InDesign CS5 JavaScript”的全部内容(均由Grant Gamble撰写)。

Javascript Tools Guide CS5是Adobe自己发布的最好的教程(无论如何我都知道)。对于晦涩的功能,这是一个很好的参考,并提供了有关如何使用其中大多数功能的良好示例。

另外,有时您可能需要与Adobe Creative Suite中的其他程序进行通信(例如,InDesign将图像发送到Photoshop)。为此,您需要使用BridgeTalk对象(不要与Adobe的“ Bridge”相混淆,尽管它是该程序的一部分)。这是我在BridgeTalk对象-The Adobe Bridge SDK上找到的最佳参考。您还应该研究Kasyan Servetsky(http://kasyan.ho.com.ua/convert_cmyk-rgb_images_to_grayscale.html)的脚本。

Adobe本身的文档分散且效果不佳(无论如何我还是认为),但是外部资源为InDesign的对象模型-http://jongware.mit.edu/idcs5js/index.html提供了很好的参考。同样,Photoshop的对象模型还有另一个很棒的外部资源-http://objjob.phrogz.net/pshop/hierarchy。首先都很难看这两个,但是对于初学者来说,请看这两个功能-app.documents.add()app.activeDocument.close()。现在,在对象模型参考的索引中找到“应用程序”以查看这些属性和方法。

InDesign的“对象模型”在许多方面与Photoshop有所不同。这意味着脚本可以在每个程序中访问不同的方法和属性。尽管InDesign和Photoshop中的脚本具有不同的DOM,但它们在Javascript功能和语法上具有相同的基础。

再说一次-Adobe的脚本通常不共享Java脚本本身的DOM方法和属性,因为Java脚本的DOM用于访问Web浏览器的文档树。这就是将Adobe脚本定义为Extendscript而不是Javascript的原因。

另外值得注意的是Extendscript可以访问OS的文件系统,而Javascript不能(考虑myFolder.execute())。

无论如何,正如标题所暗示的,这就是我本人在过去几个月中迅速学习InDesign脚本的方式。

10-05 20:52
查看更多