通过JXA(JavaScript for Automation)在Adobe Illustrator中创建一个新路径项目

通过JXA(JavaScript for Automation)在Adobe Illustrator中创建一个新路径项目

问题描述:

我正在寻找一种在Adobe Illustrator中使用JXA(JavaScript for Automation)创建路径项的方法。我多次搜索了整个互联网,找不到任何东西......苹果开发人员网站上只介绍了JXA的基本信息:JavaScript for Automation Release Notes (10.10) Adob​​e根本没有涉及到这个主题。 这里是我的代码,我就开始想一个椭圆添加到现有的文档:通过JXA(JavaScript for Automation)在Adobe Illustrator中创建一个新路径项目

illuApp = Application('Illustrator') 
docPath = "/Users/userOne/Desktop/Document_One.ai" 
illuApp.open(docPath) 

currentDoc = illuApp.currentDocument 
console.log(currentDoc.name()) 

// Ellipse constructor 
newEllipse = illuApp.Ellipse({left: 512.5, top: 87.5, width: 425.0, height: 75.0, reversed: false, inscribed: true}) 

// This doesn't work **(Error -1700: Can't convert types.)** 
currentDoc.pathItems.push(newEllipse) 

任何帮助,将不胜感激,谢谢! :)

不要浪费你的时间。就像之前的ScriptingBridge一样,JXA不能正常工作:它会做简单的事情达到某个程度......然后它会对你产生影响;在这一点上,你被拧了。苹果公司从来没有记录过或支持过它,甚至没有构建AS的一小部分观众,所以如果/当苹果推出他们修改后的自动化战略时,我不会感到惊讶的是,它在命中榜上名列第一。 (这是上个自动化项目经理被解雇的原因,我敢说在6月9日以后我们会有更好的想法)。

如果你想使用JavaScript自动化AI,使用它的内置JavaScript(JSX)解释器。否则坚持AppleScript这是唯一正式支持选项,知道如何说话苹果事件正确†。编写非平凡脚本时这一点尤为重要,因为在自动化大型,复杂,陈旧的可编写脚本的应用程序(如Illustrator,Excel,FileMaker等)时,较差的AE桥很可能会用完蒸汽/中断兼容性错误。


†也有py-appscript/SwiftAutomation(这是我用于我自己的高端Illustrator自动化,并全面踢AppleScript的屁股),但经过多年的苹果公司的拧我不再推荐或提供支持,所以你将是你自己的。

+0

谢谢您的回复。这听起来相当清醒...也许6月9日带来一些好消息:) – blauzahn